// GET: Admin/AppUsers/Edit/5
        public async Task <IActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var appUser = await _userManager.FindByIdAsync(id.ToString());

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

            var roles = await _userManager.GetRolesAsync(appUser);

            // Disable head admin editing!
            if (roles.Contains(nameof(RoleNamesEnum.HeadAdmin)))
            {
                return(RedirectToAction(nameof(Index)));
            }

            var vm = new AppUserEditViewModel
            {
                AppUserId          = (Guid)id,
                Email              = appUser.Email,
                FullName           = appUser.FirstName + " " + appUser.LastName,
                ScheduleManagement = roles.Contains(nameof(RoleNamesEnum.ScheduleSettingsAdmin)),
                EventsManagement   = roles.Contains(nameof(RoleNamesEnum.EventSettingsAdmin)),
                ScreenManagement   = roles.Contains(nameof(RoleNamesEnum.ScreenSettingsAdmin))
            };

            return(View(vm));
        }
Example #2
0
        public async Task <IActionResult> Edit(int id, AppUserEditViewModel model)
        {
            var appUser = await _context.Users.FindAsync(id);

            if (appUser == null)
            {
                ViewBag.ErrorMessage = "لايوجد مستخدم بهذه البيانات";
                return(View("NotFound"));
            }
            else
            {
                appUser.FullName = model.FullName;


                var result = await _userManager.UpdateAsync(appUser);

                if (result.Succeeded)
                {
                    return(RedirectToAction(nameof(Index)));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }

                return(View(model));
            }
        }
Example #3
0
        public async Task <IActionResult> Edit(int id)
        {
            var appUser = await _context.Users.FindAsync(id);

            if (appUser == null)
            {
                ViewBag.ErrorMessage = "لايوجد مستخدم بهذه البيانات";
                return(View("NotFound"));
            }
            // GetRolesAsync returns the list of user Roles
            var           userRoles       = GetRolesAr(appUser.Id).Result;
            List <string> departmentsName = new List <string>();

            foreach (var depart in await _repository.GetAppUserDepartmentsByUserId(appUser.Id))
            {
                departmentsName.Add(depart.Department.Name);
            }

            var usertoedit = new AppUserEditViewModel()
            {
                FullName    = appUser.FullName,
                Email       = appUser.Email,
                Id          = appUser.Id,
                Roles       = userRoles,
                Departments = departmentsName
            };

            return(View(usertoedit));
        }
        public async Task <IActionResult> Edit(Guid id, AppUserEditViewModel vm)
        {
            if (id != vm.AppUserId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var user = await _userManager.FindByIdAsync(vm.AppUserId.ToString());

                    var errorList = new List <string?>()
                    {
                        vm.ScheduleManagement
                            ? await AddUserToRoleAsync(user, nameof(RoleNamesEnum.ScheduleSettingsAdmin))
                            : await RemoveUserFromRoleAsync(user, nameof(RoleNamesEnum.ScheduleSettingsAdmin)),
                        vm.ScreenManagement
                            ? await AddUserToRoleAsync(user, nameof(RoleNamesEnum.ScreenSettingsAdmin))
                            : await RemoveUserFromRoleAsync(user, nameof(RoleNamesEnum.ScreenSettingsAdmin)),
                        vm.EventsManagement
                            ? await AddUserToRoleAsync(user, nameof(RoleNamesEnum.EventSettingsAdmin))
                            : await RemoveUserFromRoleAsync(user, nameof(RoleNamesEnum.EventSettingsAdmin))
                    };

                    var roles = await _userManager.GetRolesAsync(user);

                    if (errorList.TrueForAll(e => e == null))
                    {
                        return(RedirectToAction(nameof(Index)));
                    }

                    foreach (var error in errorList)
                    {
                        ModelState.AddModelError("UserAdditionFailed", error);
                    }

                    return(View(vm));
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!(await AppUserExists(vm.AppUserId)))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            return(View(vm));
        }
        public async Task <IActionResult> Index()
        {
            TempData["Active"] = "profile";
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            var model = new AppUserEditViewModel()
            {
                Email     = user.Email,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                UserName  = user.UserName
            };

            return(View(model));
        }
        public async Task <IActionResult> Index(AppUserEditViewModel model)
        {
            var user = await _userManager.FindByEmailAsync(model.Email);

            if (ModelState.IsValid)
            {
                user.FirstName = model.FirstName;
                user.LastName  = model.LastName;
                user.Email     = model.Email;

                await _userManager.UpdateAsync(user);

                TempData["Success"] = "Bilgileriniz <strong>başarılı</strong> bir şekilde güncellenmiştir.";
                return(View());
            }
            return(View());
        }
Example #7
0
        public async Task <IActionResult> Edit(int id)
        {
            var appUser = await _context.Users.FindAsync(id);

            if (appUser == null)
            {
                ViewBag.ErrorMessage = "لايوجد مستخدم بهذه البيانات";
                return(View("NotFound"));
            }
            // GetRolesAsync returns the list of user Roles
            var userRoles = GetRolesAr(appUser.Id).Result;


            var usertoedit = new AppUserEditViewModel()
            {
                FullName = appUser.FullName,
                Email    = appUser.Email,
                Id       = appUser.Id,
                Roles    = userRoles,
            };

            return(View(usertoedit));
        }