예제 #1
0
        public ActionResult Edit(BureauUsersViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var user = UserManager.FindById(model.User.UserId);
                    user.UserName = model.User.Username;
                    user.Email    = model.User.Email;
                    user.Name     = model.User.Name;
                    var result = UserManager.Update(user);
                    if (result.Succeeded)
                    {
                        return(RedirectToAction("Users", new { bureauId = model.BureauId }));
                    }

                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("UpdateUserError", error);
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("EditUserError", ex.Message);
            }

            var bureau = _payrollBureauBusinessService.RetrieveBureau(model.BureauId);

            model.BureauId   = bureau.BureauId;
            model.BureauName = bureau.Name;
            return(View(model));
        }
예제 #2
0
        public ActionResult View(int bureauId, string userId)
        {
            var bureau = _payrollBureauBusinessService.RetrieveBureau(bureauId);
            var user   = UserManager.FindById(userId);

            if (user == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new BureauUsersViewModel
            {
                BureauId   = bureau.BureauId,
                BureauName = bureau.Name,
                User       = new User
                {
                    UserId   = user.Id,
                    Name     = user.Name,
                    Username = user.UserName,
                    Email    = user.Email,
                }
            };

            return(View(viewModel));
        }
예제 #3
0
        public ActionResult Create(int bureauId)
        {
            var bureau    = _payrollBureauBusinessService.RetrieveBureau(bureauId);
            var viewModel = new BureauUsersViewModel
            {
                BureauId   = bureau.BureauId,
                BureauName = bureau.Name,
                User       = new User()
            };

            return(View(viewModel));
        }
        public ActionResult Create(BureauUsersViewModel model)
        {
            try
            {
                //await ValidateUserExists(clientUser.User);
                //ModelState.RemoveError<ClientUserViewModel>(e => e.User.Role);
                if (ModelState.IsValid)
                {
                    var user = new ApplicationUser
                    {
                        UserName       = model.User.Username,
                        Email          = model.User.Email,
                        EmailConfirmed = false,
                        Name           = model.User.Name
                    };

                    // Add Client Role
                    var roleManager = HttpContext.GetOwinContext().Get <ApplicationRoleManager>();
                    var roleId      = roleManager.Roles.FirstOrDefault(r => r.Name == "Bureau").Id;
                    user.Roles.Add(new IdentityUserRole {
                        UserId = user.Id, RoleId = roleId
                    });

                    var result = UserManager.Create(user);
                    if (result.Succeeded)
                    {
                        var newUser          = UserManager.FindByName(user.UserName);
                        var bureauAspNetUser = new AspNetUserBureau
                        {
                            BureauId     = model.BureauId,
                            AspNetUserId = newUser.Id
                        };
                        _payrollBureauBusinessService.CreateAspNetUserBureau(bureauAspNetUser);
                        return(RedirectToAction("Edit", new { bureauId = model.BureauId, userId = newUser.Id }));
                    }

                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("CreateUserError", error);
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("CreateUserError", ex.Message);
            }
            var bureau = _payrollBureauBusinessService.RetrieveBureau(model.BureauId);

            model.BureauId   = bureau.BureauId;
            model.BureauName = bureau.Name;
            return(View(model));
        }