using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL; using System.Data.SqlClient; using System.Data; using CY.Model; namespace CY.SQLDAL { public class Sys_Permissions_UserCaseDAL : ISys_Permissions_UserCaseDAL { private Database _dataBase = null; public Sys_Permissions_UserCaseDAL() { _dataBase = new Database(); } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.Sys_Permissions_UserCase trueModel = model as Model.Sys_Permissions_UserCase; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter(){Direction=ParameterDirection.ReturnValue,SqlDbType = SqlDbType.Int}, new SqlParameter("@MenuId",trueModel.MenuId), new SqlParameter("@UserCaseName",trueModel.UserCaseName), new SqlParameter("@IsUsed",trueModel.IsUsed), new SqlParameter("@ListId",trueModel.ListId), new SqlParameter("@ControId",trueModel.ControId), new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("@Operator",trueModel.Operator), new SqlParameter("@Remark",trueModel.Remark) }; try { _dataBase.Query("sp_Sys_Permissions_UserCase_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); trueModel.Keyid = (int)sqlParms[0].Value; } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.Sys_Permissions_UserCase trueModel = model as Model.Sys_Permissions_UserCase; if (trueModel == null) { return false; } IList sqlParms = new List() {new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@MenuId",trueModel.MenuId), new SqlParameter("@UserCaseName",trueModel.UserCaseName), new SqlParameter("@IsUsed",trueModel.IsUsed), new SqlParameter("@ListId",trueModel.ListId), new SqlParameter("@ControId",trueModel.ControId), new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("@Operator",trueModel.Operator), new SqlParameter("@Remark",trueModel.Remark) }; try { _dataBase.Query("sp_Sys_Permissions_UserCase_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.Sys_Permissions_UserCase trueModel = model as Model.Sys_Permissions_UserCase; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_Sys_Permissions_UserCase_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { throw new NotImplementedException(); } /// /// 单个查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { throw new NotImplementedException(); } /// /// 根据菜单编号查询用例 /// /// 菜单编号 /// public DataTable SelectList(int? MenuId) { return _dataBase.SelectModel("*", "Sys_Permissions_UserCase", string.Format(" MenuId= '" + MenuId + "' ORDER BY Keyid ASC")); } /// /// 根据编号查询单个信息 /// /// 编号 /// public Sys_Permissions_UserCase SelectModelByKeyId(int? KeyId) { if (KeyId == null) return null;//错误数据返会空 Sys_Permissions_UserCase m_Sys_Permissions_UserCase = new Sys_Permissions_UserCase(); try { IList result = _dataBase.SelectModel("*", "Sys_Permissions_UserCase", string.Format(" KeyId='{0}' ", KeyId)) as IList;//执行查询 if (null == result || result.Count == 0) { m_Sys_Permissions_UserCase = null; } else { m_Sys_Permissions_UserCase = result[0]; } } catch (Exception ex) { throw ex; } return m_Sys_Permissions_UserCase; } /// /// 根据路径和角色编号去除用例 /// /// /// /// public IEnumerable GetNoExitCaseList(string MenuPath, int? RoleId) { try { IList result = _dataBase.SelectModel(" a.* ", " dbo.Sys_Permissions_UserCase AS a LEFT JOIN dbo.Sys_Permissions_Menu AS b ON a.MenuId = b.Keyid LEFT JOIN dbo.Sys_Permissions_RoleMenuRelation AS c ON b.Keyid = c.MenuIdThree ", string.Format(" b.MenuPath like '%{0}' AND c.RoleId ='{1}' AND CHARINDEX(CONVERT(VARCHAR(20),a.Keyid),c.FuncId)>=0 ", MenuPath, RoleId)) as IList;//执行查询 return result; } catch (Exception ex) { throw ex; } } /// /// 通过页面创建用例 /// /// /// /// /// public bool CreatUserCaseByPage(string menupath, string attrs, string texts) { try { if (string.IsNullOrEmpty(attrs.Trim(',')) || string.IsNullOrEmpty(texts.Trim(','))) { return false; } attrs = "'" + attrs.Trim(',').Replace(",", "','") + "'"; texts = "'" + texts.Trim(',').Replace(",", "','") + "'"; string[] caseids = attrs.Replace("'", "").Split(','); string[] casenames = texts.Replace("'", "").Split(','); List old_caseidsList = caseids.ToList(); List old_casenamesList = casenames.ToList(); List caseidsList = new List(); List casenamesList = new List(); for (int i = 0; i < old_caseidsList.Count; i++) { if (caseidsList.IndexOf(old_caseidsList[i]) == -1) { caseidsList.Add(old_caseidsList[i]); casenamesList.Add(old_casenamesList[i]); } } IList m_Sys_Permissions_MenuList = _dataBase.SelectModel(" * ", " Sys_Permissions_Menu ", string.Format(" MenuPath like '{0}%' ", menupath)) as IList;//执行查询 if (m_Sys_Permissions_MenuList != null && m_Sys_Permissions_MenuList.Count > 0) { int? Menuid = m_Sys_Permissions_MenuList[0].Keyid; IList m_Sys_Permissions_UserCaseList = _dataBase.SelectModel(" * ", " Sys_Permissions_UserCase ", string.Format(" MenuId='{0}' and ControId in ({1}) ", Menuid, attrs)) as IList;//执行查询 if (m_Sys_Permissions_UserCaseList != null && m_Sys_Permissions_UserCaseList.Count > 0) { int m = 0; foreach (Sys_Permissions_UserCase m_Sys_Permissions_UserCase in m_Sys_Permissions_UserCaseList) { if (caseids.Contains(m_Sys_Permissions_UserCase.ControId)) { casenamesList.RemoveAt(caseidsList.IndexOf(m_Sys_Permissions_UserCase.ControId)); caseidsList.Remove(m_Sys_Permissions_UserCase.ControId); } m++; } } for (int i = 0; i < caseidsList.Count; i++) { Sys_Permissions_UserCase m_Sys_Permissions_UserCase = new Sys_Permissions_UserCase(); m_Sys_Permissions_UserCase.ControId = caseidsList[i].ToString(); m_Sys_Permissions_UserCase.IsUsed = true; m_Sys_Permissions_UserCase.LastUpdateTime = DateTime.Now; m_Sys_Permissions_UserCase.ListId = ""; m_Sys_Permissions_UserCase.MenuId = Menuid; m_Sys_Permissions_UserCase.Operator = ""; m_Sys_Permissions_UserCase.Remark = ""; m_Sys_Permissions_UserCase.UserCaseName = casenamesList[i].ToString(); InserModel(m_Sys_Permissions_UserCase); } } return true; } catch (Exception ex) { throw ex; } } } }