Example #1
0
        public void PostEdit()
        {
            MockUserService service = new MockUserService();
            UserController controller = GetUserController(service);
            User user = service.Users[0];
            var model = new UserViewModel()
            {
                Id = user.UserId,
                Name = "New " + user.Name,
                Email = "new" + user.Email
            };

            ActionResult result = controller.Edit(user.UserId, model);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));

            RedirectToRouteResult redirectResult = (RedirectToRouteResult)result;

            Assert.AreEqual("Details", redirectResult.RouteValues["action"]);
            Assert.AreEqual(user.UserId, redirectResult.RouteValues["id"]);

            Assert.IsNotNull(service.UpdatedUser);

            Assert.AreEqual(service.UpdatedUser.Name, model.Name);
            Assert.AreEqual(service.UpdatedUser.Email, model.Email);
        }
Example #2
0
        public ActionResult Edit(Guid id, UserViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return View(model);
            }

            User user = new User
            {
                UserId = id,
                Name = model.Name,
                Email = model.Email,
                Inactive = model.Status == 0 ? false : true
            };

            try
            {
                this.userService.UpdateUser(user);
            }
            catch (Exception ex)
            {
                this.ModelState.AddModelError("Email", ex.Message);
                return View(model);
            }

            return RedirectToAction("Details", new { id = id });
        }
Example #3
0
        public ActionResult Edit(Guid id)
        {
            User user = this.userService.RetrieveUserById(id);

            var model = new UserViewModel()
            {
                Id = user.UserId,
                Name = user.Name,
                OriginalName = user.Name,
                Email = user.Email,
                Status = user.Inactive ? 1 : 0
            };

            return View(model);
        }
Example #4
0
        public ActionResult Details(Guid id)
        {
            User user = this.userService.RetrieveUserById(id);
            var model = new UserViewModel()
            {
                User = user
            };

            List<Role> roles = this.roleService.GetRoles().ToList();
            roles.RemoveAll(r => model.User.Roles.FirstOrDefault(ur => ur.RoleId == r.RoleId) != null);

            var items = new List<SelectListItem>();
            foreach (var role in roles)
            {
                items.Add(new SelectListItem() { Text = role.RoleName, Value = role.RoleId.ToString() });
            }

            model.Roles = items;

            model.IsMe = this.userService.IsMe(user);

            return View(model);
        }
Example #5
0
        public ActionResult Create(UserViewModel model, FormCollection form)
        {
            if (!this.ModelState.IsValid)
            {
                model.RoleNames = this.roleService.GetRoles().OrderBy(r => r.RoleName).Select(r => r.RoleName);
                return View(model);
            }

            var roles = this.roleService.GetRoles().OrderBy(r => r.RoleName).ToList();
            User user = new User() { Name = model.Name, Email = model.Email };

            try
            {
                this.userService.CreateUser(user);
            }
            catch (Exception ex)
            {
                this.ModelState.AddModelError("CustomErrors", ex.Message);
                model.RoleNames = this.roleService.GetRoles().OrderBy(r => r.RoleName).Select(r => r.RoleName);
                return View(model);
            }

            int k = 1;

            foreach (var role in roles)
            {
                if (!string.IsNullOrEmpty(form["Role" + k]) && form["Role" + k].Contains("true"))
                {
                    this.roleService.AddUserToRole(role, user);
                }

                k++;
            }

            var invitationLink = this.GetInvitationPage();
            var expiration = DateTime.UtcNow.AddDays(30);

            this.invitationService.InviteUser(user, invitationLink, expiration, model.PersonalMessage, false);

            return RedirectToAction("Details", new { id = user.UserId });
        }
Example #6
0
        public ActionResult Create()
        {
            var model = new UserViewModel();
            model.RoleNames = this.roleService.GetRoles().OrderBy(r => r.RoleName).Select(r => r.RoleName);

            return View(model);
        }