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);
 }
Beispiel #3
0
        /// <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);
        }