Example #1
0
        public ActionResult UpdateUser(UpdateUserVM vm)
        {
            var repo = EmployeesRepositoryFactory.GetRepository();

            var employeeToUpdate = repo.GetById(vm.EmployeeId);

            var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();

            var user = UserManager.Users.Where(u => u.EmployeeId == vm.EmployeeId).FirstOrDefault();

            employeeToUpdate.FirstName    = vm.FirstName;
            employeeToUpdate.LastName     = vm.LastName;
            employeeToUpdate.DepartmentId = vm.DepartmentId;

            if (ModelState.IsValid)
            {
                if (!string.IsNullOrEmpty(vm.NewPassword))
                {
                    user.PasswordHash = UserManager.PasswordHasher.HashPassword(vm.NewPassword);
                    var result = UserManager.Update(user);
                }

                repo.Update(employeeToUpdate, vm.Email, vm.IsDisabled);

                return(RedirectToAction("Users"));
            }

            vm.NewPassword        = "";
            vm.ConfirmNewPassword = "";

            vm.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll());

            return(View("UpdateUser", vm));
        }
Example #2
0
        public ActionResult Register()
        {
            var viewModel = new RegisterViewModel();

            viewModel.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll());

            return(View(viewModel));
        }
Example #3
0
        public ActionResult UpdateUser(int id)
        {
            var viewModel   = new UpdateUserVM();
            var employee    = EmployeesRepositoryFactory.GetRepository().GetById(id);
            var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();

            viewModel.FirstName    = employee.FirstName;
            viewModel.LastName     = employee.LastName;
            viewModel.DepartmentId = employee.DepartmentId;
            viewModel.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll());
            viewModel.Email      = UserManager.Users.Where(u => u.EmployeeId == id).FirstOrDefault().Email;
            viewModel.IsDisabled = UserManager.Users.Where(u => u.EmployeeId == id).FirstOrDefault().IsDisabled;
            viewModel.EmployeeId = employee.EmployeeId;

            return(View(viewModel));
        }
Example #4
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var repo = EmployeesRepositoryFactory.GetRepository();

                var employeeId = repo.GetAll().Max(e => e.EmployeeId) + 1;

                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, EmployeeId = employeeId
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    repo.Insert(model.Employee);

                    var departmentName = DepartmentsRepositoryFactory.GetRepository().GetById(model.Employee.DepartmentId).Name;

                    var result1 = UserManager.AddToRole(user.Id, departmentName);

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Users", "Admin"));
                }
                AddErrors(result);

                model.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll());
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }