Exemple #1
0
        public async Task <IHttpActionResult> ChangeRoleName([FromUri] string id, [FromBody] RoleBindingModel roleModel)
        {
            if (roleModel == null)
            {
                return(BadRequest("Payload is empty!"));
            }

            var role = await RoleManager.FindByIdAsync(id);

            if (role == null)
            {
                return(NotFound());
            }

            role.Name = roleModel.Name;
            IdentityResult createRoleResult = await RoleManager.UpdateAsync(role);

            if (!createRoleResult.Succeeded)
            {
                return(GetErrorResult(createRoleResult));
            }

            var roleDto        = RoleFactory.GetModel <RoleForAdminDto>(role);
            Uri locationHeader = new Uri(Url.Link("GetRole", new { id = role.Id }));

            return(Created(locationHeader, roleDto));
        }
Exemple #2
0
        public bool Create(RoleBindingModel model)
        {
            try
            {
                using (var libraryDb = new LibraryManagementEntities())
                {
                    // check duplicated
                    var currentRole = libraryDb.Roles.FirstOrDefault(s => s.Name == model.Name);
                    if (currentRole != null)
                    {
                        throw new ArgumentNullException();
                    }
                    // Insert db
                    var roleInfo = _entityMapper.Map <RoleBindingModel, Role>(model);
                    libraryDb.Roles.Add(roleInfo);
                    libraryDb.SaveChanges();

                    return(true);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Exemple #3
0
 public void CreateOrUpdate(RoleBindingModel model)
 {
     using (var context = new DatabaseContext())
     {
         Role role = context.Roles.FirstOrDefault(rec =>
                                                  rec.Name == model.Name && rec.ID != model.ID);
         if (role != null)
         {
             throw new Exception("Уже есть роль с таким названием");
         }
         if (model.ID.HasValue)
         {
             role = context.Roles.FirstOrDefault(rec => rec.ID == model.ID);
             if (role == null)
             {
                 throw new Exception("Роль не найдена");
             }
         }
         else
         {
             role = new Role();
             context.Roles.Add(role);
         }
         role.Name         = model.Name;
         role.Type         = model.Type;
         role.CreationDate = model.CreationDate;
         context.SaveChanges();
     }
 }
Exemple #4
0
 public void Insert(RoleBindingModel model)
 {
     using (var context = new NewsBlogDatabase())
     {
         context.Role.Add(CreateModel(model, new Role()));
         context.SaveChanges();
     }
 }
Exemple #5
0
 public void Insert(RoleBindingModel model)
 {
     using (var context = new JournalDb())
     {
         context.Roles.Add(CreateModel(model, new Role()));
         context.SaveChanges();
     }
 }
        public IHttpActionResult PostRole(RoleBindingModel roleBindingModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!RoleManager.Roles.Any(r => r.Name == roleBindingModel.Role))
            {
                return(BadRequest());
            }

            if (db.Users.Find(roleBindingModel.UserId) == null)
            {
                return(BadRequest());
            }

            var userRoles = UserManager.GetRolesAsync(User.Identity.GetUserId()).Result;

            if (roleBindingModel.Role == "Administrator" && userRoles.Any(r => r == "Administrator"))
            {
                // ???
            }
            else if (roleBindingModel.Role == "Employee" && (userRoles.Any(r => r == "Administrator") ||
                                                             userRoles.Any(r => r == "Employee")))
            {
                if (db.Companies.Find(roleBindingModel.OptionalCompanyId) == null)
                {
                    return(BadRequest());
                }
                if (db.Employees.Find(roleBindingModel.UserId) != null)
                {
                    return(BadRequest());
                }
                db.Employees.Add(new Employee
                {
                    UserId    = roleBindingModel.UserId,
                    CompanyId = roleBindingModel.OptionalCompanyId,
                    JoinDate  = DateTime.Now.Date
                });
                db.SaveChanges();
            }
            else if (roleBindingModel.Role == "User" && (userRoles.Any(r => r == "Employee")))
            {
                db.Employees.Remove(db.Employees.Find(roleBindingModel.UserId));
                db.SaveChanges();
            }
            else
            {
                return(StatusCode(HttpStatusCode.Unauthorized));
            }

            UserManager.AddToRoleAsync(roleBindingModel.UserId, roleBindingModel.Role).Wait();

            return(Ok());
        }
Exemple #7
0
 public List <RoleViewModel> Read(RoleBindingModel model)
 {
     if (model == null)
     {
         return(roleStorage.GetFullList());
     }
     return(new List <RoleViewModel> {
         roleStorage.GetElement(model)
     });
 }
Exemple #8
0
        public void Delete(RoleBindingModel model)
        {
            var element = roleStorage.GetElement(new RoleBindingModel
            {
                Id = model.Id
            });

            if (element == null)
            {
                throw new Exception("Должность не найден");
            }
            roleStorage.Delete(model);
        }
Exemple #9
0
        public void Delete(RoleBindingModel model)
        {
            var role = _roleStorage.GetElement(new RoleBindingModel
            {
                Id = model.Id
            });

            if (role == null)
            {
                throw new Exception("Роль не найдена");
            }
            _roleStorage.Delete(model);
        }
Exemple #10
0
 public void Update(RoleBindingModel model)
 {
     using (var context = new NewsBlogDatabase())
     {
         var role = context.Role.FirstOrDefault(rec => rec.Idrole == model.Id);
         if (role == null)
         {
             throw new Exception("Роль не найдена");
         }
         CreateModel(model, role);
         context.SaveChanges();
     }
 }
Exemple #11
0
        public async Task <RoleViewModel> UpdateRole(int id, [FromBody] RoleBindingModel bindingModel)
        {
            if (bindingModel == null || !ModelState.IsValid)
            {
                throw new CustomException(Errors.INVALID_ROLE_BINDING_DATA, Errors.INVALID_ROLE_BINDING_DATA_MSG);
            }

            var role = bindingModel.ToModel(id);

            role = await _roleService.UpdateAsync(role);

            return(role.ToViewModel());
        }
Exemple #12
0
 public List <RoleViewModel> Read(RoleBindingModel model)
 {
     if (model == null)
     {
         return(_roleStorage.GetFullList());
     }
     if (model.Id.HasValue)
     {
         return(new List <RoleViewModel> {
             _roleStorage.GetElement(model)
         });
     }
     return(_roleStorage.GetFilteredList(model));
 }
Exemple #13
0
        public void Delete(RoleBindingModel model)
        {
            using (var context = new JournalDb())
            {
                var role = context.Roles.FirstOrDefault(rec => rec.Id == model.Id);

                if (role == null)
                {
                    throw new Exception("Должность не найдена");
                }

                context.Roles.Remove(role);
                context.SaveChanges();
            }
        }
Exemple #14
0
 public void Delete(RoleBindingModel model)
 {
     using (var context = new DatabaseContext())
     {
         Role role = context.Roles.FirstOrDefault(rec => rec.ID == model.ID);
         if (role != null)
         {
             context.Roles.Remove(role);
             context.SaveChanges();
         }
         else
         {
             throw new Exception("Роль не найдена");
         }
     }
 }
Exemple #15
0
        public IHttpActionResult AddRole([FromBody] RoleBindingModel role)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            RoleDTO newRole = new RoleDTO()
            {
                Title = role.Title
            };

            _roleService.Add(newRole);

            return(Ok());
        }
Exemple #16
0
        public async Task <bool> ManageUsersInRole(RoleBindingModel model)
        {
            try
            {
                var result = await providePolicy().ExecuteAsync(() =>
                                                                RES_URL
                                                                .AppendPathSegment("/api/roles/ManageUsersInRole")
                                                                .WithOAuthBearerToken(Properties.Settings.Default.token)
                                                                .PostJsonAsync(model));

                return(result.IsSuccessStatusCode);
            }
            catch (FlurlHttpException ex)
            {
                return(false);
            }
        }
Exemple #17
0
        public IHttpActionResult NewRole(RoleBindingModel Role)
        {
            if (RoleManager.RoleExists(Role.Role))
            {
                return(BadRequest("Already Exists"));
            }

            var newRole = new IdentityRole(Role.Role);
            var result  = RoleManager.Create(newRole);

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }

            return(Ok());
        }
Exemple #18
0
 public List <RoleViewModel> GetFilteredList(RoleBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new NewsBlogDatabase())
     {
         return(context.Role
                .Where(rec => rec.Namerole.Contains(model.NameRole))
                .Select(rec => new RoleViewModel
         {
             Id = rec.Idrole,
             NameRole = rec.Namerole
         }).ToList());
     }
 }
Exemple #19
0
        public IHttpActionResult AddRoleToUser([FromUri] string username, [FromBody] RoleBindingModel roleBindingModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var user = this.context.Users.FirstOrDefault(u => u.UserName == username);

            if (user == null)
            {
                return(this.BadRequest("User " + username + " does not exist"));
            }

            var role = this.context.Roles.FirstOrDefault(r => r.Name == roleBindingModel.Name);

            if (role == null)
            {
                this.context.Roles.Add(new IdentityRole()
                {
                    Name = roleBindingModel.Name
                });

                this.context.SaveChanges();

                role = this.context.Roles.FirstOrDefault(r => r.Name == roleBindingModel.Name);
            }


            user.Roles.Add(new IdentityUserRole()
            {
                UserId = user.Id,
                RoleId = role.Id
            });

            try
            {
                this.context.SaveChanges();

                return(this.Ok(string.Format("Role {0} added to user {1}", roleBindingModel.Name, username)));
            }
            catch (Exception)
            {
                return(this.BadRequest());
            }
        }
Exemple #20
0
        public async Task <IHttpActionResult> AddUserToRole([FromBody] RoleBindingModel userData)
        {
            var role = await AppRoleManager.FindByIdAsync(userData.RoleId);

            if (role != null)
            {
                IdentityResult result = await AppUserManager.AddToRoleAsync(userData.UserId, role.Name);

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }

                return(Ok());
            }

            return(NotFound());
        }
Exemple #21
0
 public RoleViewModel GetElement(RoleBindingModel model)
 {
     if (model == null)
     {
         return(null);
     }
     using (var context = new NewsBlogDatabase())
     {
         var role = context.Role
                    .FirstOrDefault(rec => rec.Namerole.Equals(model.NameRole) || rec.Idrole == model.Id);
         return(role != null ?
                new RoleViewModel
         {
             Id = role.Idrole,
             NameRole = role.Namerole
         } : null);
     }
 }
Exemple #22
0
 public List <RoleViewModel> Read(RoleBindingModel model)
 {
     using (var context = new DatabaseContext())
     {
         return(context.Roles
                .Where(rec => model == null || rec.ID == model.ID ||
                       model.StartDate.HasValue && model.EndDate.HasValue &&
                       rec.CreationDate >= model.StartDate.Value &&
                       rec.CreationDate <= model.EndDate.Value)
                .Select(rec => new RoleViewModel
         {
             ID = rec.ID,
             Name = rec.Name,
             Type = rec.Type,
             CreationDate = rec.CreationDate
         })
                .ToList());
     }
 }
Exemple #23
0
        public void CreateOrUpdate(RoleBindingModel model)
        {
            var role = _roleStorage.GetElement(new RoleBindingModel
            {
                NameRole = model.NameRole
            });

            if (role != null && role.Id != model.Id)
            {
                throw new Exception("Уже есть роль с таким названием");
            }
            if (model.Id.HasValue)
            {
                _roleStorage.Update(model);
            }
            else
            {
                _roleStorage.Insert(model);
            }
        }
Exemple #24
0
        public void CreateOrUpdate(RoleBindingModel model)
        {
            var element = roleStorage.GetElement(new RoleBindingModel
            {
                NameRole = model.NameRole
            });

            if (element != null && element.Id != model.Id)
            {
                throw new Exception("Уже присутствует такая должность");
            }
            if (model.Id.HasValue)
            {
                roleStorage.Update(model);
            }
            else
            {
                roleStorage.Insert(model);
            }
        }
Exemple #25
0
        public IHttpActionResult RemoveUserFromRole([FromUri] string username, [FromBody] RoleBindingModel roleBindingModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var user = this.context.Users.FirstOrDefault(u => u.UserName == username);

            if (user == null)
            {
                return(this.BadRequest("User " + username + " does not exist"));
            }

            var role = this.context.Roles.FirstOrDefault(r => r.Name == roleBindingModel.Name);

            if (role == null)
            {
                return(this.BadRequest("Role " + roleBindingModel.Name + " does not exist"));
            }

            var userRole = user.Roles.FirstOrDefault(r => r.RoleId == role.Id);

            if (userRole == null)
            {
                return(this.BadRequest(string.Format("User {0} does not have role {1}", username, role.Name)));
            }

            user.Roles.Remove(userRole);

            try
            {
                this.context.SaveChanges();

                return(this.Ok(string.Format("User {0} removed from role {1}", username, roleBindingModel.Name)));
            }
            catch (Exception)
            {
                return(this.BadRequest());
            }
        }
Exemple #26
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            bool add = txtId.Text == "" ? false : true;

            if (!add)
            {
                RoleBindingModel model = new RoleBindingModel()
                {
                    Name = txtName.Text
                };

                if (manager.Create(model))
                {
                    add = false;
                    MessageBox.Show("Thêm mới thành công !", "Thông báo");
                }
                else
                {
                    MessageBox.Show("Thêm mới không thành công!. Liên hệ với quản trị viên.", "Thông báo");
                }
            }
            else
            {
                RoleBindingModel model = new RoleBindingModel()
                {
                    Id   = int.Parse(txtId.Text),
                    Name = txtName.Text
                };

                if (manager.Update(model))
                {
                    MessageBox.Show("Sửa thành công !", "Thông báo");
                }
                else
                {
                    MessageBox.Show("Sửa không thành công!. Liên hệ với quản trị viên.", "Thông báo");
                }
            }

            LoadData(Searching, PageIndex, PageSize);
        }
        public static Role ToModel(this RoleBindingModel bindingModel, int?roleId = null)
        {
            if (bindingModel == null)
            {
                return(null);
            }
            else
            {
                var model = new Role
                {
                    Name = bindingModel.Name
                };

                if (roleId.HasValue)
                {
                    model.Id = roleId.Value;
                }

                return(model);
            }
        }
        public async Task <IHttpActionResult> CreateRole(RoleBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var role = new IdentityRole()
            {
                Name = model.Name
            };
            //  role.description = string.Empty;
            IdentityResult result = await RoleManager.CreateAsync(role);

            if (!result.Succeeded)
            {
                return(GetErrorResult(result));
            }

            return(Ok());
        }
Exemple #29
0
        public RoleViewModel GetElement(RoleBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }
            using (var context = new JournalDb())
            {
                var role = context.Roles
                           .FirstOrDefault(rec => rec.NameRole == model.NameRole ||
                                           rec.Id == model.Id);

                return(role != null ?
                       new RoleViewModel
                {
                    Id = role.Id,
                    NameRole = role.NameRole
                } :
                       null);
            }
        }
Exemple #30
0
 public bool Update(RoleBindingModel model)
 {
     try
     {
         using (var libraryDb = new LibraryManagementEntities())
         {
             // Check first get item
             var role = libraryDb.Roles.FirstOrDefault(s => s.Id == model.Id);
             if (role == null)
             {
                 throw new ArgumentNullException("No exist");
             }
             role.Name = model.Name;
             libraryDb.SaveChanges();
             return(true);
         }
     }
     catch (Exception)
     {
         return(false);
     }
 }