protected override void Seed(ManagerContext context)
        {
            try
            {
                #region 操作命令字典表(操作权限的按钮)
                context.WebAuthorityCommands.Add(new WebAuthorityCommands
                {
                    Flag       = 1,
                    ActionName = "Details",
                    Name       = "查看",
                    Feature    = WebAuthorityCommandFeature.Dialog
                });
                context.WebAuthorityCommands.Add(new WebAuthorityCommands
                {
                    Flag       = 2,
                    ActionName = "Add",
                    Name       = "添加",
                    Feature    = WebAuthorityCommandFeature.None
                });
                context.WebAuthorityCommands.Add(new WebAuthorityCommands
                {
                    Flag       = 4,
                    ActionName = "Edit",
                    Name       = "编辑",
                    Feature    = WebAuthorityCommandFeature.None
                });

                context.WebAuthorityCommands.Add(new WebAuthorityCommands
                {
                    Flag       = 8,
                    ActionName = "Deleted",
                    Name       = "删除",
                    Feature    = WebAuthorityCommandFeature.Warn
                });

                context.WebAuthorityCommands.Add(new WebAuthorityCommands
                {
                    Flag       = 16,
                    ActionName = "Freeze",
                    Name       = "冻结",
                    Feature    = WebAuthorityCommandFeature.Warn
                });
                context.WebAuthorityCommands.Add(new WebAuthorityCommands
                {
                    Flag       = 32,
                    ActionName = "Approve",
                    Name       = "审核",
                    Feature    = WebAuthorityCommandFeature.Warn
                });
                context.SaveChanges();
                #endregion

                #region 部门表
                var department = new WebDepartments
                {
                    About      = "",
                    Name       = "根",
                    Level      = 0,
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebDepartments> {
                        new WebDepartments
                        {
                            About      = "",
                            Name       = "总裁办",
                            Level      = 1,
                            Operator   = "admin",
                            SortNumber = 0
                        },
                        new WebDepartments
                        {
                            About      = "",
                            Name       = "研发部",
                            Level      = 1,
                            Operator   = "admin",
                            SortNumber = 0,
                            Sons       = new  List <WebDepartments>
                            {
                                new WebDepartments
                                {
                                    About      = "",
                                    Name       = "设计部",
                                    Level      = 2,
                                    Operator   = "admin",
                                    SortNumber = 0
                                },
                                new WebDepartments
                                {
                                    About      = "",
                                    Name       = "产品部",
                                    Level      = 2,
                                    Operator   = "admin",
                                    SortNumber = 0
                                },
                                new WebDepartments
                                {
                                    About      = "",
                                    Name       = "开发部",
                                    Level      = 2,
                                    Operator   = "admin",
                                    SortNumber = 0,
                                    Sons       = new  List <WebDepartments> {
                                        new WebDepartments
                                        {
                                            About      = "",
                                            Name       = "C#组",
                                            Level      = 3,
                                            Operator   = "admin",
                                            SortNumber = 0
                                        },
                                        new WebDepartments
                                        {
                                            About      = "",
                                            Name       = "JAVA组",
                                            Level      = 3,
                                            Operator   = "admin",
                                            SortNumber = 0
                                        },
                                        new WebDepartments
                                        {
                                            About      = "",
                                            Name       = "IOS组",
                                            Level      = 3,
                                            Operator   = "admin",
                                            SortNumber = 0
                                        },
                                        new WebDepartments
                                        {
                                            About      = "",
                                            Name       = "Android组",
                                            Level      = 3,
                                            Operator   = "admin",
                                            SortNumber = 0
                                        },
                                    }
                                }
                            }
                             
                        },
                        new WebDepartments
                        {
                            About      = "",
                            Name       = "人力部",
                            Level      = 1,
                            Operator   = "admin",
                            SortNumber = 0,
                        },
                        new WebDepartments
                        {
                            About      = "",
                            Name       = "财物部",
                            Level      = 1,
                            Operator   = "admin",
                            SortNumber = 0,
                        }
                         
                    }
                };
                context.WebDepartments.Add(department);
                context.SaveChanges();
                #endregion

                #region 菜单表
                var menu = new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 0,
                    Name       = "根",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0
                };

                #region 系统菜单
                var systemMenu = new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 1,
                    Name       = "系统管理",
                    Operator   = "admin",
                    SortNumber = 0
                };

                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "菜单管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus> {
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebMenu/Create",
                            Level             = 3,
                            Name              = "添加菜单",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Create | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebMenu/Index",
                            Level      = 3,
                            Name       = "管理菜单",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebMenu/Edit",
                            Level             = 3,
                            Name              = "编辑菜单",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebMenu/Delete",
                            Level             = 3,
                            Name              = "删除菜单",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Delete)
                        }
                          
                    }
                });
                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "部门管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus> {
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebDept/Create",
                            Level             = 3,
                            Name              = "添加部门",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Create | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebDept/Index",
                            Level      = 3,
                            Name       = "管理部门",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebDept/Edit",
                            Level             = 3,
                            Name              = "编辑部门",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebDept/Delete",
                            Level             = 3,
                            Name              = "删除部门",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Delete)
                        }
                          
                    }
                });
                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "后台管理默认的主页",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "用户管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus> {
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebUser/Create",
                            Level      = 3,
                            Name       = "添加用户",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Detail | Authority.Create)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebUser/Index",
                            Level      = 3,
                            Name       = "管理用户",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete | Authority.Freeze)
                        },
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebUser/Edit",
                            Level             = 3,
                            Name              = "编辑用户",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebUser/Delete",
                            Level             = 3,
                            Name              = "删除用户",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Delete)
                        }
                          
                    }
                });
                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "角色管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus> {
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebRole/Create",
                            Level      = 3,
                            Name       = "添加角色",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Detail | Authority.Create)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebRole/Index",
                            Level      = 3,
                            Name       = "管理角色",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete)
                        },
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebRole/Edit",
                            Level             = 3,
                            Name              = "编辑角色",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebRole/Delete",
                            Level             = 3,
                            Name              = "删除角色",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Delete)
                        }
                          
                    }
                });
                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "数据集管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus> {
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebDataCtrl/Create",
                            Level      = 3,
                            Name       = "添加类型",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Create | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebDataCtrl/Index",
                            Level      = 3,
                            Name       = "管理类型",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete)
                        }
                        ,
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebDataCtrl/Delete",
                            Level      = 3,
                            Name       = "删除类型",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Delete)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebDataCtrl/Edit",
                            Level             = 3,
                            Name              = "编辑类型",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebDataSetting/Create",
                            Level      = 3,
                            Name       = "添加数据集",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Create | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebDataSetting/Index",
                            Level      = 3,
                            Name       = "管理数据集",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete)
                        },
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebDataSetting/Edit",
                            Level             = 3,
                            Name              = "编辑数据集",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        }
                        ,
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebDataSetting/Delete",
                            Level             = 3,
                            Name              = "删除数据集",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 0,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Delete)
                        }
                          
                    }
                });

                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "操作日志管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus>
                    {
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebLogger/Index",
                            Level      = 3,
                            Name       = "日志列表",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Detail)
                        }
                    }
                });
                menu.Sons.Add(systemMenu);

                systemMenu.Sons.Add(new WebManageMenus
                {
                    About      = "",
                    LinkUrl    = "",
                    Level      = 2,
                    Name       = "权限按钮管理",
                    Operator   = "admin",
                    ParentID   = null,
                    SortNumber = 0,
                    Sons       = new List <WebManageMenus>
                    {
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebAuthorityCommand/Index",
                            Level      = 3,
                            Name       = "权限按钮列表",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 0,
                            Authority  = (long)(Authority.Create | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebAuthorityCommand/Create",
                            Level      = 3,
                            Name       = "添加权限按钮",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 1,
                            Authority  = (long)(Authority.Edit | Authority.Detail | Authority.Delete)
                        },
                        new WebManageMenus {
                            About             = "",
                            LinkUrl           = "/WebAuthorityCommand/Edit",
                            Level             = 3,
                            Name              = "编辑权限按钮",
                            Operator          = "admin",
                            ParentID          = null,
                            SortNumber        = 1,
                            IsDisplayMenuTree = false,
                            Authority         = (long)(Authority.Edit | Authority.Detail)
                        },
                        new WebManageMenus {
                            About      = "",
                            LinkUrl    = "/WebAuthorityCommand/AuthorityAction",
                            Level      = 3,
                            Name       = "权限页面管理",
                            Operator   = "admin",
                            ParentID   = null,
                            SortNumber = 1,
                        }
                    }
                });

                menu.Sons.Add(systemMenu);
                #endregion


                context.WebManageMenus.Add(menu);
                context.SaveChanges();
                #endregion

                #region 角色表
                var role = new WebManageRoles
                {
                    About        = "",
                    DepartmentID = department.Sons.FirstOrDefault().Id,
                    Operator     = "admin",
                    //OperatorAuthority = 1 | 2 | 4 | 8,
                    RoleName   = "管理员",
                    SortNumber = 0,
                };
                context.WebManageRoles.Add(role);
                context.SaveChanges();
                #endregion

                #region 角色与菜单授权
                List <WebManageRoles_WebManageMenus_Authority_R> webManageRoles_WebManageMenus_Authority_R = new List <WebManageRoles_WebManageMenus_Authority_R>();
                context.WebManageMenus.ToList().ForEach(item =>
                {
                    webManageRoles_WebManageMenus_Authority_R.Add(new WebManageRoles_WebManageMenus_Authority_R
                    {
                        MenuId    = item.Id,
                        Authority = 1 | 2 | 4 | 8 | 16 | 32,
                        RoleId    = role.Id,
                    });
                });
                context.WebManageRoles_WebManageMenus_Authority_R.AddRange(webManageRoles_WebManageMenus_Authority_R);
                context.SaveChanges();
                #endregion

                #region 用户表
                var user1 = new WebManageUsers
                {
                    Description        = "",
                    Email              = "*****@*****.**",
                    LoginName          = "admin",
                    Mobile             = "13800138000",
                    Operator           = "",
                    Password           = Lind.DDD.Utils.Encryptor.Utility.EncryptString("admin", Utils.Encryptor.Utility.EncryptorType.MD5),
                    RealName           = "管理员",
                    WebSystemID        = 1,
                    ThridUserId        = "",
                    DataCreateDateTime = DateTime.Now,
                    DataStatus         = Status.Normal,
                    LastModifyTime     = DateTime.Now,
                    WebDepartments     = new List <WebDepartments> {
                        department
                    },
                    WebManageRoles = new List <WebManageRoles>()
                    {
                        role
                    },
                };
                var it = department.Sons.Where(i => i.Name == "研发部").FirstOrDefault();

                var user2 = new WebManageUsers
                {
                    Description        = "",
                    Email              = "*****@*****.**",
                    LoginName          = "it",
                    Mobile             = "13800138000",
                    Operator           = "",
                    Password           = Lind.DDD.Utils.Encryptor.Utility.EncryptString("it", Utils.Encryptor.Utility.EncryptorType.MD5),
                    RealName           = "技术人员",
                    WebSystemID        = 1,
                    DataCreateDateTime = DateTime.Now,
                    DataStatus         = Status.Normal,
                    LastModifyTime     = DateTime.Now,
                    WebDepartments     = new List <WebDepartments> {
                        it.Sons.FirstOrDefault(i => i.Name == "开发部"),
                        it.Sons.FirstOrDefault(i => i.Name == "设计部")
                    },
                    WebManageRoles = new List <WebManageRoles>()
                    {
                        role
                    },
                };
                context.WebManageUsers.AddRange(new List <WebManageUsers> {
                    user1, user2
                });
                context.SaveChanges();

                #endregion

                base.Seed(context);
            }
            catch (DbEntityValidationException db)
            {
                throw db;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        public JsonResult SaveEdit(int id, string roleName, int sortNumber, string about, int departmentId, string menuArr)
        {
            try
            {
                if (departmentId == 0)
                {
                    ModelState.AddModelError("", "请选择部门...");
                    return(Json(new { status = 0, msg = "请选择部门" }));
                }

                if (string.IsNullOrWhiteSpace(menuArr))
                {
                    ModelState.AddModelError("", "请选择菜单...");
                    return(Json(new { status = 0, msg = "请选择菜单" }));
                }

                if (!ModelState.IsValid)
                {
                    ModelState.AddModelError("", "请把表单填写完整...");
                    return(Json(new { status = 0, msg = "请把表单填写完整" }));
                }
                List <WebManageRoles_WebManageMenus_Authority_R> role_Menu_Authority = new List <WebManageRoles_WebManageMenus_Authority_R>();

                menuArr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList().ForEach(item =>
                {
                    var menu_authority = item.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

                    role_Menu_Authority.Add(new WebManageRoles_WebManageMenus_Authority_R
                    {
                        Authority = Convert.ToInt64(menu_authority[1]) | 1,
                        MenuId    = Convert.ToInt32(menu_authority[0]),
                    });
                });
                WebManageRoles entity;
                if (id == 0)
                {
                    entity              = new WebManageRoles();
                    entity.RoleName     = roleName;
                    entity.SortNumber   = sortNumber;
                    entity.About        = about;
                    entity.DepartmentID = departmentId;
                    entity.WebManageRoles_WebManageMenus_Authority_R = role_Menu_Authority;
                    entity.Operator = "";
                    roleRepository.Insert(entity);
                }
                else
                {
                    entity = roleRepository.GetModel()
                             .Include(i => i.WebManageRoles_WebManageMenus_Authority_R)
                             .FirstOrDefault(i => i.Id == id);

                    entity.RoleName     = roleName;
                    entity.SortNumber   = sortNumber;
                    entity.About        = about;
                    entity.DepartmentID = departmentId;
                    role_Menu_Authority.ForEach(i => i.RoleId = id);
                    roleRepository.Update(entity);
                    webManageRoles_WebManageMenus_Authority_RRepository.Delete(webManageRoles_WebManageMenus_Authority_RRepository.GetModel(i => i.RoleId == id).ToList());
                    webManageRoles_WebManageMenus_Authority_RRepository.Insert(role_Menu_Authority);
                }
                UpdateDataSetting(entity.Id, entity.DepartmentID);
                return(Json(new { status = 1 }));
            }
            catch
            {
                return(Json(new { status = 0, msg = "数据处理失败" }));
            }
        }