public static T_SYS_FBADMINROLE CreateT_SYS_FBADMINROLE(string fBADMINROLEID) { T_SYS_FBADMINROLE t_SYS_FBADMINROLE = new T_SYS_FBADMINROLE(); t_SYS_FBADMINROLE.FBADMINROLEID = fBADMINROLEID; return t_SYS_FBADMINROLE; }
public void AddToT_SYS_FBADMINROLE(T_SYS_FBADMINROLE t_SYS_FBADMINROLE) { base.AddObject("T_SYS_FBADMINROLE", t_SYS_FBADMINROLE); }
/// <summary> /// 添加预算管理员 /// 1 先添加预算管理员的角色,并添加对应的增加、删除、修改、查看对应的公司级的权限 /// 2 如果是超级管理员则添加对应的自定义权限 /// 3 添加预算管理员和角色关联的数据 /// </summary> /// <param name="lstobj"></param> /// <returns></returns> public string AddFbAdmin(List <T_SYS_FBADMIN> lstobj) { string StrReturn = ""; dal.BeginTransaction(); try { if (lstobj != null) { if (lstobj.Count() > 0) { //获取所有角色信息 #region 初始化变量 var entroles = from ent in dal.GetObjects <T_SYS_ROLE>() select ent; var entusers = from ent in dal.GetObjects <T_SYS_USER>() select ent; string SysDictEntity = GetMenuid("T_FB_SUBJECTTYPE"); //系统字典MUNUid string CompanySubEntity = GetMenuid("T_FB_SUBJECTCOMPANY"); //公司科目维护ID string DepartmentSubEntity = GetMenuid("T_FB_SUBJECTDEPTMENT"); //部门科目维护ID string SubjectCompanySet = GetMenuid("T_FB_SUBJECTCOMPANYSET"); //公司科目分配 string PermissionAddID = GetPermissionID(Convert.ToInt32(Permissions.Add)); //权限添加ID string PermissionEditID = GetPermissionID(Convert.ToInt32(Permissions.Edit)); //修改ID string PermissionDelID = GetPermissionID(Convert.ToInt32(Permissions.Delete)); //权限删除ID string PermissionViewID = GetPermissionID(Convert.ToInt32(Permissions.Browse)); //权限查看ID #endregion for (int i = 0; i < lstobj.Count(); i++) { //dal.Add(lstobj[i]); string stremployid = lstobj[i].EMPLOYEEID; string strCompanyId = lstobj[i].EMPLOYEECOMPANYID; var entFb = from e in dal.GetObjects <T_SYS_FBADMIN>() where e.EMPLOYEEID == stremployid && e.EMPLOYEECOMPANYID == strCompanyId select e; if (entFb != null && entFb.Any())//判断该员工在此公司有没有记录,有则不能进行添加 { StrReturn = "该员工已在此公司有管理员角色"; dal.RollbackTransaction(); return(StrReturn); } var entuser = entusers.Where(p => p.EMPLOYEEID == stremployid); string SysuserID = ""; if (entuser.Count() > 0) { SysuserID = entuser.FirstOrDefault().SYSUSERID; } else { break; } string strcompanyid = lstobj[i].OWNERCOMPANYID;//公司ID string strrolename = lstobj[i].ROLENAME; var companyrole = entroles.Where(p => p.OWNERCOMPANYID == strcompanyid && p.ROLENAME.Contains(strrolename)); if (companyrole != null) { //这里控制了一个公司只有一个人 //if (companyrole.Count() == 0) //{ T_SYS_ROLE role; //角色实体 int k; //添加角色返回的值 AddRole(lstobj, i, out role, out k); if (k > 0) { #region 添加系统字典菜单 if (lstobj[i].ISSUPPERADMIN == "1") //只有超级预算管理员才可以显示系统字典 { if (SysDictEntity != null) //添加系统字典菜单角色 { T_SYS_ROLEENTITYMENU roleSystemDicEnt = AddRoleEntity(SysDictEntity, role); if (roleSystemDicEnt == null) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } else { bool IsResult = AddRoleEntityPermissionByCEDV(PermissionAddID, PermissionEditID, PermissionDelID, PermissionViewID, role, roleSystemDicEnt); if (IsResult == false) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } } } } #endregion #region 添加公司科目维护菜单 if (CompanySubEntity != null)//添加公司科目菜单角色 { T_SYS_ROLEENTITYMENU roleCompanyEnt = AddRoleEntity(CompanySubEntity, role); if (roleCompanyEnt == null) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } else { bool IsResult = AddRoleEntityPermissionByCEDV(PermissionAddID, PermissionEditID, PermissionDelID, PermissionViewID, role, roleCompanyEnt); if (IsResult == false) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } } } #endregion #region 添加部门科目维护菜单 if (DepartmentSubEntity != null)//添加部门科目维护菜单角色 { T_SYS_ROLEENTITYMENU roleDepartmentEnt = AddRoleEntity(DepartmentSubEntity, role); if (roleDepartmentEnt == null) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } else { bool IsResult = AddRoleEntityPermissionByCEDV(PermissionAddID, PermissionEditID, PermissionDelID, PermissionViewID, role, roleDepartmentEnt); if (IsResult == false) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } } } #endregion #region 添加公司科目分配 if (SubjectCompanySet != null)//添加部门科目维护菜单角色 { T_SYS_ROLEENTITYMENU SubjectSetEnt = AddRoleEntity(SubjectCompanySet, role); if (SubjectSetEnt == null) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } else { bool IsResult = AddRoleEntityPermissionByCEDV(PermissionAddID, PermissionEditID, PermissionDelID, PermissionViewID, role, SubjectSetEnt); if (IsResult == false) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } } } #endregion #region 用户赋角色并提交事务 lstobj[i].CREATEDATE = System.DateTime.Now; lstobj[i].SYSUSERID = SysuserID; int IntFb = dal.Add(lstobj[i]); if (IntFb > 0) { T_SYS_FBADMINROLE fbrole = new T_SYS_FBADMINROLE(); fbrole.FBADMINROLEID = System.Guid.NewGuid().ToString(); fbrole.ROLEID = role.ROLEID; fbrole.T_SYS_FBADMINReference.EntityKey = new System.Data.EntityKey("TM_SaaS_OA_EFModelContext.T_SYS_FBADMIN", "FBADMINID", lstobj[i].FBADMINID); fbrole.ADDDATE = System.DateTime.Now; int IntAdminRole = dal.Add(fbrole); if (IntAdminRole == 0) { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } } int IntUserRole = AddUserRole(lstobj, i, SysuserID, role); if (IntUserRole > 0) { //dal.CommitTransaction(); } else { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } #endregion } else { dal.RollbackTransaction(); StrReturn = "ERROR"; return(StrReturn); } //} //控制了只一个人,暂时先注释 } } } } dal.CommitTransaction(); } catch (Exception ex) { dal.RollbackTransaction(); StrReturn = "ERROR"; Tracer.Debug("FBADMINBLL中AddFbAdmin出现错误" + System.DateTime.Now.ToString() + "错误信息:" + ex.ToString()); } return(StrReturn); }