Beispiel #1
0
        public void ChangeUserDetails(DisplayUserModel model)
        {
            var  user    = _userRepository.GetById(model.Id);
            bool changed = false;

            if (!user.Name.Equals(model.Firstname))
            {
                user.Name = model.Firstname;
                changed   = true;
            }

            if (!user.Surname.Equals(model.Lastname))
            {
                user.Surname = model.Lastname;
                changed      = true;
            }

            if (!user.Email.Equals(model.Email))
            {
                user.Email = model.Email;
                changed    = true;
            }

            if (changed)
            {
                _userRepository.Save(user);
            }
        }
Beispiel #2
0
        private DisplayUserModel InitDisplayUserModel(User user)
        {
            var model = new DisplayUserModel
            {
                Id         = user.Id,
                Firstname  = user.Name,
                Lastname   = user.Surname,
                Gender     = user.Gender,
                Email      = user.Email,
                Username   = user.Username,
                TokenCount = user.TokenCount
            };

            return(model);
        }
Beispiel #3
0
 public ActionResult Edit(DisplayUserModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             _accountBl.ChangeUserDetails(model);
             return(RedirectToAction("Index", "Users"));
         }
         logger.Info("Model state invalid");
         return(View());
     }
     catch (Exception e)
     {
         logger.Error("Exception occured, redirecting to edit page. " + e.Message);
         return(View());
     }
 }
        public async Task <ActionResult> UserDisplay(DisplayUserModel model)
        {
            try
            {
                var userList = await GetAllUsers();

                var rolesList = await GetAllRoles();

                List <SelectListItem> listUsersWithRoles = new List <SelectListItem>();
                List <SelectListItem> listExistingRoles  = new List <SelectListItem>();
                List <SelectListItem> listOtherRoles     = new List <SelectListItem>();
                string           emailId = null;
                DisplayUserModel displayUserModel;

                foreach (UserModel user in userList)
                {
                    if (user.Id == model.SelectedUsers.First())
                    {
                        listExistingRoles = (from r in user.Roles
                                             select new SelectListItem
                        {
                            Text = r.Value,
                            Value = r.Key
                        }).ToList();


                        foreach (var role in rolesList)
                        {
                            if (!(listExistingRoles.Any(x => x.Value == role.Value)))
                            {
                                listOtherRoles.Add(role);
                            }
                        }

                        emailId = user.Email;
                    }

                    string         userRolesList = string.Join(",", user.Roles.Select(x => x.Value));
                    SelectListItem selectList    = new SelectListItem()
                    {
                        Text  = $"{user.Email} : {Environment.NewLine} {userRolesList}",
                        Value = user.Id.ToString()
                    };
                    listUsersWithRoles.Add(selectList);
                }

                if (null != model.SelectedExistingRoles &&
                    null == model.SelectedOtherRoles)
                {
                    SelectListItem existingRoleToBeRemoved =
                        listExistingRoles.FirstOrDefault(x => x.Value == model.SelectedExistingRoles.First());
                    await _userEndPoint.RemoveUserFromRole(model.SelectedUsers.First(), existingRoleToBeRemoved.Text);

                    listExistingRoles.Remove(existingRoleToBeRemoved);
                    listOtherRoles.Add(existingRoleToBeRemoved);
                }

                if (null != model.SelectedOtherRoles &&
                    null == model.SelectedExistingRoles)
                {
                    SelectListItem otherRoleToBeAdded =
                        listOtherRoles.FirstOrDefault(x => x.Value == model.SelectedOtherRoles.First());
                    await _userEndPoint.AddUserToRole(model.SelectedUsers.First(), otherRoleToBeAdded.Text);

                    listOtherRoles.Remove(otherRoleToBeAdded);
                    listExistingRoles.Add(otherRoleToBeAdded);
                }

                displayUserModel = new DisplayUserModel()
                {
                    Users         = listUsersWithRoles,
                    SelectedUsers = model.SelectedUsers,
                    EmailId       = emailId,
                    ExistingRoles = listExistingRoles,
                    OtherRoles    = listOtherRoles
                };

                return(RedirectToAction("UserDisplay", new { serializedModel = JsonConvert.SerializeObject(displayUserModel) }));
            }
            catch (Exception ex)
            {
                //TODO : Log the exception.
                if (ex.Message.Equals("Unauthorized"))
                {
                    ViewBag.ErrorTitle   = $"{ex.Message}";
                    ViewBag.ErrorMessage = "You do not have permission to interact with the Users form";
                }
                return(View("Error"));
            }
        }
        public async Task <ActionResult> UserDisplay(string serializedModel)
        {
            try
            {
                var userList = await GetAllUsers();

                var rolesList = await GetAllRoles();

                List <SelectListItem> listUsersWithRoles = new List <SelectListItem>();
                DisplayUserModel      displayUserModel;

                if (null == serializedModel)
                {
                    foreach (UserModel user in userList)
                    {
                        string         userRolesList = string.Join(",", user.Roles.Select(x => x.Value));
                        SelectListItem selectList    = new SelectListItem()
                        {
                            Text  = $"{user.Email} : {Environment.NewLine} {userRolesList}",
                            Value = user.Id.ToString()
                        };
                        listUsersWithRoles.Add(selectList);
                    }

                    displayUserModel = new DisplayUserModel()
                    {
                        Users = listUsersWithRoles
                    };
                }
                else
                {
                    displayUserModel = JsonConvert.DeserializeObject <DisplayUserModel>(serializedModel);
                    if (null == displayUserModel)
                    {
                        foreach (UserModel user in userList)
                        {
                            string         userRolesList = string.Join(",", user.Roles.Select(x => x.Value));
                            SelectListItem selectList    = new SelectListItem()
                            {
                                Text  = $"{user.Email} : {Environment.NewLine} {userRolesList}",
                                Value = user.Id.ToString()
                            };
                            listUsersWithRoles.Add(selectList);
                        }

                        displayUserModel = new DisplayUserModel()
                        {
                            Users = listUsersWithRoles
                        };
                    }
                }

                return(View(displayUserModel));
            }
            catch (Exception ex)
            {
                //TODO : Log the exception.
                if (ex.Message.Equals("Unauthorized"))
                {
                    ViewBag.ErrorTitle   = $"{ex.Message}";
                    ViewBag.ErrorMessage = "You do not have permission to interact with the Users form";
                }
                return(View("Error"));
            }
        }