Beispiel #1
0
        /// <summary>
        /// 得到所有角色信息
        /// </summary>
        /// <returns></returns>
        public ActionResult GetRoleList(RoleSearchDTO dto)
        {
            var result = UserAuthorityProvider.GetRoleList(dto);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        /// <summary>
        /// 导出角色管理
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ActionResult ExportRole(RoleSearchDTO dto)
        {
            string result = null;

            List <RoleResultDTO> pp = null;

            pp = UserAuthorityProvider.GetRoleList(dto);

            string        strTemplateFile = Server.MapPath(@"~/TempLate/RoleTemplate.xlsx");
            string        strGenarateDir  = Server.MapPath(@"~/TempFile");
            string        strGenarateFile = Guid.NewGuid().ToString("N") + ".xlsx";
            string        strExportFile   = strGenarateDir + "\\" + strGenarateFile;
            List <object> ratelist        = new List <object>();

            //角色
            pp.ForEach(g =>
            {
                //一级权限
                var aa = g.RoleAuthority.Where(w => w.StructureID.Length == 3).ToList();
                if (aa.Count == 0)
                {
                    Models.Model.Excel.ExcelRole er = new Models.Model.Excel.ExcelRole();
                    er.角色名称 = g.RoleName;
                    er.角色类别 = g.RoleTypeStr;
                    ratelist.Add(er);
                }
                aa.ForEach(a =>
                {
                    //二级权限
                    var bb = g.RoleAuthority.Where(w => w.StructureID.Length == 6 && w.StructureID.StartsWith(a.StructureID)).ToList();
                    if (bb.Count == 0)
                    {
                        Models.Model.Excel.ExcelRole er = new Models.Model.Excel.ExcelRole();
                        er.角色名称   = g.RoleName;
                        er.角色类别   = g.RoleTypeStr;
                        er.一级模块权限 = a.StructureName;
                        ratelist.Add(er);
                    }
                    bb.ForEach(b =>
                    {
                        //三级权限
                        var cc = g.RoleAuthority.Where(w => w.StructureID.Length == 9 && w.StructureID.StartsWith(b.StructureID)).ToList();
                        if (cc.Count == 0)
                        {
                            Models.Model.Excel.ExcelRole er = new Models.Model.Excel.ExcelRole();
                            er.角色名称   = g.RoleName;
                            er.角色类别   = g.RoleTypeStr;
                            er.一级模块权限 = a.StructureName;
                            er.二级模块权限 = b.StructureName;
                            ratelist.Add(er);
                        }
                        cc.ForEach(c =>
                        {
                            //三级权限功能按钮
                            Models.Model.Excel.ExcelRole er = new Models.Model.Excel.ExcelRole();
                            er.角色名称   = g.RoleName;
                            er.角色类别   = g.RoleTypeStr;
                            er.一级模块权限 = a.StructureName;
                            er.二级模块权限 = b.StructureName;
                            er.级模块权限  = c.StructureName;
                            er.功能权限   = string.Join(",", GlobalStaticData.ButtonInfo.Where(w => (c.RoleButtonAuthority | w.ButtonID) == c.RoleButtonAuthority).Select(s => s.ButtonValue));
                            ratelist.Add(er);
                        });
                    });
                });
            });

            if (Common.ExcelHelper.Export(strTemplateFile, strGenarateDir, strGenarateFile, ratelist, "Sheet1"))
            {
                result = strGenarateFile;
            }

            return(Json(result));
        }
Beispiel #3
0
        private bool CheckUserInfo(object obj)
        {
            bool             result   = true;
            List <ExcelUser> exceldto = (List <ExcelUser>)obj;
            UserSearchDTO    dto      = new UserSearchDTO();

            dto.rows = 100000000;
            dto.page = 1;
            var UserInfoList            = UserAuthorityProvider.GetUser(dto);
            DistributorSearchDTO disdto = new DistributorSearchDTO();

            disdto.page = 1;
            disdto.rows = 1000000000;
            var           distributorlist = DistributorProvider.GetDistributorList(disdto);//所有经销商
            RoleSearchDTO roleSearch      = new RoleSearchDTO();
            var           rolelist        = UserAuthorityProvider.GetRoleList(roleSearch);
            string        strimporter     = ((UserLoginDTO)Session["UserLoginInfo"]).FullName;

            foreach (var p in exceldto)
            {
                StringBuilder sb = new StringBuilder();
                if (String.IsNullOrEmpty(p.UserCode))
                {
                    sb.Append("用户编号不可为空! ");
                }
                else
                {
                    var UserID = UserInfoList.Object.Where(m => m.UserCode == p.UserCode).Select(m => m.UserID).FirstOrDefault();
                    if (UserID != null)
                    {
                        p.UserID  = UserID;
                        p.UpLogic = 2;
                    }
                    else
                    {
                        p.UpLogic = 1;
                    }
                }
                if (String.IsNullOrEmpty(p.Email))
                {
                    sb.Append("用户邮箱不可为空! ");
                }
                if (String.IsNullOrEmpty(p.PhoneNumber))
                {
                    sb.Append("用户手机号不可为空! ");
                }
                else
                {
                    //手机号在此不做唯一性判断。
                    //var PhoneNumber = UserInfoList.Object.Where(m => m.PhoneNumber == p.PhoneNumber).Select(m => m.PhoneNumber).FirstOrDefault();
                    //if (PhoneNumber != null)
                    //{
                    //    sb.Append("用户手机号不可重复");
                    //}
                }
                if (String.IsNullOrEmpty(p.DistributorNamestr))
                {
                    //sb.Append("所属经销商不可为空!");
                }
                else
                {
                    foreach (var dis in p.DistributorNamelist)
                    {
                        var exist = distributorlist.Object.Where(m => m.DistributorName == dis).FirstOrDefault();
                        if (exist == null)
                        {
                            sb.Append("经销商名称填写错误!错误名称为" + dis + "请检查!");
                        }
                        else
                        {
                        }
                    }
                }
                if (String.IsNullOrEmpty(p.RoleNamestr))
                {
                    //sb.Append("用户角色不可为空! ");
                }
                else
                {
                    foreach (var role in p.RoleNamelist)
                    {
                        var exist = rolelist.Where(m => m.RoleName == role).FirstOrDefault();
                        if (exist == null)
                        {
                            sb.Append("角色" + role + "不存在!");
                        }
                    }
                }
                if (String.IsNullOrEmpty(p.StopTime))
                {
                    sb.Append("使用的截止日期不可为空! ");
                }
                p.Importer = strimporter;
                if (sb.Length > 0)
                {
                    p.CheckInfo = sb.ToString();
                    result      = false;
                }
            }

            return(result);
        }