Exemplo n.º 1
0
        // GET: GroupUser
        public async Task <ActionResult> Index(string groupId)
        {
            string accessToken      = Session["MicrosoftAccessToken"] as string;
            var    roleTypeService  = new RoleTypeService(accessToken);
            var    userDataService  = new UserService(accessToken);
            var    userGroupService = new UserGroupService(accessToken);

            var allRoleTypes = await roleTypeService.GetAllRoleTypes();

            var usersFromGroup = await userDataService.GetUsersFromGroup(groupId);

            List <GroupUserModel> guModelsList = new List <GroupUserModel>();

            foreach (var user in usersFromGroup)
            {
                var userGroup = await userGroupService.GetUserGroup(user.Id, groupId);

                GroupUserModel guModel = new GroupUserModel();
                guModel.UserGroupId = userGroup.Id;
                guModel.UserEmail   = user.Email;
                guModel.RoleTypeId  = userGroup.RoleTypeId;
                guModel.RoleName    = allRoleTypes.Single(r => r.Id == userGroup.RoleTypeId).RoleName;
                guModelsList.Add(guModel);
            }

            ViewBag.GroupId = groupId;
            return(View(guModelsList));
        }
Exemplo n.º 2
0
        // GET: GroupUser/Create
        public async Task <ActionResult> Create(string groupId)
        {
            string accessToken     = Session["MicrosoftAccessToken"] as string;
            var    roleTypeService = new RoleTypeService(accessToken);
            var    allRoleTypes    = await roleTypeService.GetAllRoleTypes();

            var defaultRole = allRoleTypes.Single(r => r.RoleKey == (int)RoleTypeEnum.Viewer);

            ViewBag.RoleTypeId = new SelectList(allRoleTypes, "Id", "RoleName", defaultRole.Id);
            ViewBag.GroupId    = groupId;

            GroupService groupService = new GroupService(accessToken);
            string       groupName    = await groupService.GroupNameByGroupId(groupId);

            if (await AccessAdmin(groupId) && !(groupName.Contains("Default group for user")))
            {
                return(View());
            }
            else
            {
                return(View("AccessDenied"));
            }

            return(View());
        }
Exemplo n.º 3
0
        // GET: GroupUser/Delete/5
        public async Task <ActionResult> Delete(string userGroupId)
        {
            string accessToken      = Session["MicrosoftAccessToken"] as string;
            var    roleTypeService  = new RoleTypeService(accessToken);
            var    userService      = new UserService(accessToken);
            var    userGroupService = new UserGroupService(accessToken);

            var allRoleTypes = await roleTypeService.GetAllRoleTypes();

            var userGroup = await userGroupService.GetUserGroupById(userGroupId);

            var user = await userService.GetUserById(userGroup.UserId);

            GroupUserModel guModel = new GroupUserModel();

            guModel.UserEmail   = user.Email;
            guModel.RoleTypeId  = userGroup.RoleTypeId;
            guModel.RoleName    = allRoleTypes.Single(r => r.Id == userGroup.RoleTypeId).RoleName;
            guModel.UserGroupId = userGroup.Id;

            ViewBag.GroupId = userGroup.GroupId;

            GroupService groupService = new GroupService(accessToken);
            string       groupName    = await groupService.GroupNameByGroupId(userGroup.GroupId);

            if (await AccessAdmin(userGroup.GroupId) && !userGroup.IsUserDefaultGroup)
            {
                return(View(guModel));
            }
            else
            {
                return(View("AccessDenied"));
            }
        }
Exemplo n.º 4
0
        public async Task <bool> AccessAdmin(string userId, string groupId)
        {
            var             accessToken     = Session["MicrosoftAccessToken"] as string;
            RoleTypeService roleTypeService = new RoleTypeService(accessToken);

            return(await roleTypeService.CanUserAddOrDeleteItem(userId, groupId));
        }
Exemplo n.º 5
0
        public async Task <bool> AccessAdmin(string groupId)
        {
            var accessToken = Session["MicrosoftAccessToken"] as string;

            UserService userService = new UserService(accessToken);
            string      userId      = await userService.GetUserInternalId(Session["UserId"] as string, UserDomainEnum.Microsoft);

            RoleTypeService roleTypeService = new RoleTypeService(accessToken);

            return(await roleTypeService.CanUserAddOrDeleteItem(userId, groupId));
        }
Exemplo n.º 6
0
        public async Task <bool> AccessEditor(string taskItemId)
        {
            var             accessToken     = Session["MicrosoftAccessToken"] as string;
            TaskItemService taskItemService = new TaskItemService(accessToken);

            string groupId = (await taskItemService.GetTaskItemById(taskItemId)).GroupId;

            UserService userService = new UserService(accessToken);
            string      userId      = await userService.GetUserInternalId(Session["UserId"] as string, UserDomainEnum.Microsoft);

            RoleTypeService roleTypeService = new RoleTypeService(accessToken);

            return(await roleTypeService.CanUserEditItem(userId, groupId));
        }
 //临时
 public void update()
 {
     var f = new FunctionService();
     var role = new RoleTypeService();
     if (f.FindAll().Count > 21) return;
     var ro = new RoleAuthorityService();
     f.Insert(new function()
     {
         Meno = "淘汰任务",
         Name = "EliminateTask"
     });
     f.Insert(new function()
     {
         Name = "DeadTask",
         Meno = "死亡任务"
     });
     f.Insert(new function()
     {
         Name = "EliminateInfo",
         Meno = "淘汰信息管理"
     });
     f.Insert(new function()
     {
         Name = "DeadInfo",
         Meno = "死亡信息管理"
     });
     var roletype = new RoleTypeService();
     roletype.Insert(new role_type() {
      Name="淘汰生猪负责员"
     });
     roletype.Insert(new role_type()
     {
         Name = "死亡生猪处理员"
     });
     foreach (var a in role.FindAll())
     {
         for (int i = 20; i < 24; i++)
             ro.Insert(new role_authority()
             {
                 FunctionId = i,
                 RoleTypeId = a.Id,
                 Check = true
             });
     }
 }
Exemplo n.º 8
0
        public async Task <ActionResult> Create(string groupId, GroupUserModel groupUserModel)
        {
            try
            {
                string accessToken = Session["MicrosoftAccessToken"] as string;
                var    userService = new UserService(accessToken);
                var    user        = await userService.GetUsersByEmail(groupUserModel.UserEmail);

                if (user == null)
                {
                    ModelState.AddModelError("Error", "User with this email does not exist!");
                    ViewBag.Error = TempData["Error"];
                    var roleTypeService = new RoleTypeService(accessToken);
                    var allRoleTypes    = await roleTypeService.GetAllRoleTypes();

                    var defaultRole = allRoleTypes.Single(r => r.RoleKey == (int)RoleTypeEnum.Viewer);
                    ViewBag.RoleTypeId = new SelectList(allRoleTypes, "Id", "RoleName", defaultRole.Id);
                    ViewBag.GroupId    = groupId;
                    return(View(groupUserModel));
                }
                else
                {
                    UserGroup userGroup = new UserGroup
                    {
                        Id                 = Guid.NewGuid().ToString(),
                        GroupId            = groupId,
                        RoleTypeId         = groupUserModel.RoleTypeId,
                        UserId             = user.Id,
                        IsUserDefaultGroup = false
                    };

                    var userGroupService = new UserGroupService(accessToken);
                    await userGroupService.Insert(userGroup);

                    return(RedirectToAction("Index", new { groupId }));
                }
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 9
0
        private void LoadDefaultData()
        {
            //Binding data Role dropdown list
            ddlRoles.Items.Clear();
            ddlRoles.Items.Add(new ListItem("", "0"));

            IRoleTypeService  roleTypeService = new RoleTypeService();
            List <RoleTypeBO> roles           = roleTypeService.GetRoleTypes();

            for (int i = 0; i < roles.Count; i++)
            {
                ddlRoles.Items.Add(new ListItem(roles[i].RoleName, roles[i].RoleTypeId.ToString()));
            }

            //Department Dropdown list
            ddlDepartment.Items.Clear();
            ddlDepartment.Items.Add(new ListItem("", "0"));
            List <DepartmentBO> departments = this.MemberService.GetAllDepartment();

            foreach (DepartmentBO d in departments)
            {
                ddlDepartment.Items.Add(new ListItem(d.Name, d.DepartmentId.ToString()));
            }

            //Organization dropdown
            ddlOrganization.Items.Clear();
            ddlOrganization.Items.Add(new ListItem(string.Empty, "0"));
            List <OrganizationBO> orgs = this.MemberService.GetAllOrganization();

            foreach (OrganizationBO o in orgs)
            {
                ddlOrganization.Items.Add(new ListItem(o.Name, o.OrganizationId.ToString()));
            }

            //Binding gridview
            IMemberService memberService = new MemberService();
            string         orderBy       = "UserId ASC";

            grvMembers.DataSource = memberService.GetMembers(orderBy);
            grvMembers.DataBind();
        }
Exemplo n.º 10
0
        private void FillDropDowns()
        {
            ddlRoleType.Items.Clear();


            IRoleTypeService  roleTypeService = new RoleTypeService();
            List <RoleTypeBO> roles           = roleTypeService.GetRoleTypes();

            for (int i = 0; i < roles.Count; i++)
            {
                ddlRoleType.Items.Add(new ListItem(roles[i].RoleName, roles[i].RoleTypeId.ToString()));
            }

            //Department Dropdown list
            ddlDepartment.Items.Clear();
            List <DepartmentBO> departments = this.MemberService.GetAllDepartment();

            foreach (DepartmentBO d in departments)
            {
                ddlDepartment.Items.Add(new ListItem(d.Name, d.DepartmentId.ToString()));
            }
        }
Exemplo n.º 11
0
        // GET: GroupUser/Details/5
        public async Task <ActionResult> Details(string userGroupId)
        {
            string accessToken      = Session["MicrosoftAccessToken"] as string;
            var    roleTypeService  = new RoleTypeService(accessToken);
            var    userService      = new UserService(accessToken);
            var    userGroupService = new UserGroupService(accessToken);

            var allRoleTypes = await roleTypeService.GetAllRoleTypes();

            var userGroup = await userGroupService.GetUserGroupById(userGroupId);

            var user = await userService.GetUserById(userGroup.UserId);

            GroupUserModel guModel = new GroupUserModel();

            guModel.UserEmail   = user.Email;
            guModel.RoleTypeId  = userGroup.RoleTypeId;
            guModel.RoleName    = allRoleTypes.Single(r => r.Id == userGroup.RoleTypeId).RoleName;
            guModel.UserGroupId = userGroup.Id;

            ViewBag.GroupId = userGroup.GroupId;
            return(View(guModel));
        }
Exemplo n.º 12
0
 /// <summary>
 ///     获得角色类型下拉列表
 /// </summary>
 /// <returns>返回集合</returns>
 public IEnumerable<SelectListItem> GetRoleTypeList()
 {
     var roleType = new RoleTypeService();
     IEnumerable<SelectListItem> roleTypeSelectList =
         roleType.FindAll().Select(roleTypeItem => new SelectListItem
                                                       {
                                                           Text =
                                                               roleTypeItem.Name,
                                                           Value =
                                                               roleTypeItem.Id + string.Empty
                                                       }).OrderBy(m => m.Text);
     return roleTypeSelectList;
 }
Exemplo n.º 13
0
 //判断类型是否重复
 public bool JudgeNameByType(string name, string typename)
 {
     var cureTypeService = new CureTypeService();
     var medicineService = new MedicineService();
     var unitService = new UnitService();
     var fodderTypeService = new FodderTypeService();
     var excetionTypeService = new ExceptionTypeService();
     var pigTypeService = new PigTypeService();
     var pigHouseTypeService = new PigHouseTypeService();
     var taskStatusTypeService = new TaskStatusTypeService();
     var taskTypeService = new TaskTypeService();
     var roleTypeService = new RoleTypeService();
     var preventionTypeService = new PreventionTypeService();
     var customerService = new CustomerService();
     if (typename == "治疗")
     {
         if (cureTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "单位")
     {
         if (unitService.FindByName(name) == null)
             return true;
     }
     if (typename == "药物")
     {
         if (medicineService.FindByName(name) == null)
             return true;
     }
     if (typename == "异常")
     {
         if (excetionTypeService.FindByName(name).Count == 0)
             return true;
     }
     if (typename == "饲料")
     {
         if (fodderTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "生猪")
     {
         if (pigTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "防疫")
     {
         if (preventionTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "猪舍")
     {
         if (pigHouseTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "任务状态")
     {
         if (taskStatusTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "任务类型")
     {
         if (taskTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "角色")
     {
         if (roleTypeService.FindByName(name) == null)
             return true;
     }
     if (typename == "客户名称")
     {
         if (customerService.FindByName(name) == null)
             return true;
     }
     return false;
 }
Exemplo n.º 14
0
        /// <summary>
        ///     根据类型id查找关联它的表是否为0
        /// </summary>
        /// <param name="typeid">类型id</param>
        /// <param name="typename">类型名字</param>
        /// <returns></returns>
        public string GetRelationtById(long typeid, string typename)
        {
            var cureTypeService = new CureTypeService();
            var medicineService = new MedicineService();
            var unitService = new UnitService();
            var fodderTypeService = new FodderTypeService();
            var excetionTypeService = new ExceptionTypeService();
            var pigTypeService = new PigTypeService();
            var pigHouseTypeService = new PigHouseTypeService();
            var taskStatusTypeService = new TaskStatusTypeService();
            var taskTypeService = new TaskTypeService();
            var roleTypeService = new RoleTypeService();
            var preventionTypeService = new PreventionTypeService();
            var roleAuthorityService = new RoleAuthorityService();
            var customerService = new CustomerService();
            if (typeid == 0)
            {
                return "不存在于数据库,可以删除";
            }
            try
            {
                if (typename == "治疗")
                {
                    cureTypeService.Delete(cureTypeService.Find(typeid));
                }
                if (typename == "单位")
                {
                    unitService.Delete(unitService.Find(typeid));
                }
                if (typename == "药物")
                {
                    medicineService.Delete(medicineService.Find(typeid));
                }
                if (typename == "异常")
                {
                    excetionTypeService.Delete(excetionTypeService.Find(typeid));
                }
                if (typename == "饲料")
                {
                    fodderTypeService.Delete(fodderTypeService.Find(typeid));
                }
                if (typename == "生猪")
                {
                    if (pigTypeService.Find(typeid).Name == "母猪" || pigTypeService.Find(typeid).Name == "公猪")
                    {
                        return "不可删除";
                    }
                    pigTypeService.Delete(pigTypeService.Find(typeid));
                }
                if (typename == "防疫")
                {
                    preventionTypeService.Delete(preventionTypeService.Find(typeid));
                }
                if (typename == "猪舍")
                {
                    pigHouseTypeService.Delete(pigHouseTypeService.Find(typeid));
                }
                if (typename == "任务状态")
                {
                    if (taskStatusTypeService.Find(typeid).Name == "未完成" ||
                        taskStatusTypeService.Find(typeid).Name == "已完成" ||
                        taskStatusTypeService.Find(typeid).Name == "正在进行")
                    {
                        return "不可删除";
                    }
                    taskStatusTypeService.Delete(taskStatusTypeService.Find(typeid));
                }
                if (typename == "任务类型")
                {
                    if (taskTypeService.Find(typeid).Name == "喂饲" || taskTypeService.Find(typeid).Name == "防疫" ||
                        taskTypeService.Find(typeid).Name == "巡查" || taskTypeService.Find(typeid).Name == "治疗" ||
                        taskTypeService.Find(typeid).Name == "销售" || taskTypeService.Find(typeid).Name == "转栏" ||
                        taskTypeService.Find(typeid).Name == "添加生猪")
                    {
                        return "不可删除";
                    }
                    taskTypeService.Delete(taskTypeService.Find(typeid));
                }
                if (typename == "角色")
                {
                    foreach (role_authority c in roleAuthorityService.FindByRoleTypeId(typeid))
                        roleAuthorityService.Delete(roleAuthorityService.Find(c.Id));
                    roleTypeService.Delete(roleTypeService.Find(typeid));
                }
                if (typename == "客户名称")
                {
                    customerService.Delete(customerService.Find(typeid));
                }
            }
            catch (Exception)
            {
                return "不可删除";
            }

            return "";
        }
Exemplo n.º 15
0
 public BasicInfoModel ReadBasicInfo(string type)
 {
     var basicInfoModel = new BasicInfoModel {Type = type};
     var names = new List<NameModel>();
     basicInfoModel.Names = names;
     if (type == "治疗")
     {
         List<cure_type> cureTypes = new CureTypeService().FindAll();
         foreach (cure_type cureType in cureTypes)
         {
             var nameModel = new NameModel {Name = cureType.Name, Id = cureType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "药物")
     {
         List<medicine> medicineTypes = new MedicineService().FindAll();
         foreach (medicine medicineType in medicineTypes)
         {
             var nameModel = new NameModel {Name = medicineType.Name, Id = medicineType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "单位")
     {
         List<unit> unitTypes = new UnitService().FindAll();
         foreach (unit unitType in unitTypes)
         {
             var nameModel = new NameModel {Name = unitType.Name, Id = unitType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "异常")
     {
         List<exception_type> exceptionTypes = new ExceptionTypeService().FindAll();
         foreach (exception_type exceptionType in exceptionTypes)
         {
             var nameModel = new NameModel {Name = exceptionType.Name, Id = exceptionType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "饲料")
     {
         List<fodder_type> fodderTypes = new FodderTypeService().FindAll();
         foreach (fodder_type fodderType in fodderTypes)
         {
             var nameModel = new NameModel {Name = fodderType.Name, Id = fodderType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "生猪")
     {
         List<pig_type> pigTypes = new PigTypeService().FindAll();
         foreach (pig_type pigType in pigTypes)
         {
             var nameModel = new NameModel {Name = pigType.Name, Id = pigType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "防疫")
     {
         List<prevention_type> preventionTypes = new PreventionTypeService().FindAll();
         foreach (prevention_type preventionType in preventionTypes)
         {
             var nameModel = new NameModel
                                 {
                                     Name = preventionType.Name,
                                     Id = preventionType.Id,
                                     MedicineId = preventionType.MedicineId,
                                     Quality = Convert.ToInt32(preventionType.Quality),
                                     UnitId = preventionType.UnitId
                                 };
             names.Add(nameModel);
         }
     }
     else if (type == "猪舍")
     {
         List<pig_house_type> pigHouseTypes = new PigHouseTypeService().FindAll();
         foreach (pig_house_type pigHouseType in pigHouseTypes)
         {
             var nameModel = new NameModel {Name = pigHouseType.Name, Id = pigHouseType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "任务状态")
     {
         List<task_status_type> taskStatusTypes = new TaskStatusTypeService().FindAll();
         foreach (task_status_type taskStatusType in taskStatusTypes)
         {
             var nameModel = new NameModel {Name = taskStatusType.Name, Id = taskStatusType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "任务类型")
     {
         List<task_type> taskTypes = new TaskTypeService().FindAll();
         foreach (task_type taskType in taskTypes)
         {
             var nameModel = new NameModel {Name = taskType.Name, Id = taskType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "角色")
     {
         List<role_type> roleTypes = new RoleTypeService().FindAll();
         foreach (role_type roleType in roleTypes)
         {
             var nameModel = new NameModel {Name = roleType.Name, Id = roleType.Id};
             names.Add(nameModel);
         }
     }
     else if (type == "客户名称")
     {
         List<customer> customerTypes = new CustomerService().FindAll();
         foreach (customer customer in customerTypes)
         {
             var nameModel = new NameModel {Name = customer.Name, Id = customer.Id};
             names.Add(nameModel);
         }
     }
     if (names.Count == 0)
     {
         var nullNameModel = new NameModel();
         names.Add(nullNameModel);
     }
     return basicInfoModel;
 }
Exemplo n.º 16
0
 public void RoleTypeSaveChanges(BasicInfoModel model)
 {
     var typeService = new RoleTypeService();
     var roleauthorityService = new RoleAuthorityService();
     List<role_type> types = typeService.FindAll();
     foreach (role_type type in types)
     {
         int idFlag = 0;
         int nameFlag = 0;
         string newname = "";
         foreach (NameModel name in model.Names)
         {
             if (type.Id == name.Id)
             {
                 idFlag = 1;
                 if (type.Name.Equals(name.Name))
                 {
                     nameFlag = 1;
                 }
                 else
                 {
                     newname = name.Name;
                 }
             }
         }
         //若存在此Id,但是name变化了的,则需要修改数据库
         if (idFlag == 1)
         {
             if (nameFlag == 0)
             {
                 if (string.IsNullOrEmpty(newname))
                 {
                     throw new Exception();
                 }
                 role_type modifyCure = typeService.Find(type.Id);
                 modifyCure.Name = newname;
                 typeService.Update(modifyCure);
             }
         }
     }
     //如果model里的Id为0,说明是新建的类型
     foreach (NameModel name in model.Names)
     {
         if (name.Id == 0 && typeService.FindByName(name.Name) == null)
         {
             var newType = new role_type {Name = name.Name};
             typeService.Insert(newType);
             for (int j = 1; j <= 19; j++)
             {
                 var roleAuthority = new role_authority
                                         {
                                             RoleTypeId = typeService.FindByName(name.Name).Id,
                                             FunctionId = j,
                                             Check = true
                                         };
                 roleauthorityService.Insert(roleAuthority);
             }
         }
     }
 }