public void InBoundUrl_WithNonPutAndPostMethods_IsNotRouted() { var model = new RoleForm { EntityId = Guid.NewGuid() }; var url = new RolesRouter.PutRoute().Url.ToAppRelativeUrl() .Replace("{entityId}", model.EntityId.ToString()); url.WithMethodsExcept(HttpVerbs.Put, HttpVerbs.Post).ShouldMapToNothing(); }
public void OutBoundUrl_IsNotRouted() { var model = new RoleForm { EntityId = Guid.NewGuid() }; Expression<Func<RolesController, ActionResult>> action = controller => controller.Put(model); var url = new RolesRouter.PutRoute().Url.ToAppRelativeUrl() .Replace("{entityId}", model.EntityId.ToString()); OutBoundRoute.Of(action).InArea(Area).AppRelativeUrl().ShouldNotEqual(url); }
public void InBoundUrl_WithPutAndPostMethods_IsRouted() { var model = new RoleForm { EntityId = Guid.NewGuid() }; Expression<Func<RolesController, ActionResult>> action = controller => controller.Put(model); var url = new RolesRouter.PutRoute().Url.ToAppRelativeUrl() .Replace("{entityId}", model.EntityId.ToString()); url.WithMethod(HttpVerbs.Put).AndMethodArg("model", model).ShouldMapTo(action); url.WithMethod(HttpVerbs.Post).AndMethodArg("model", model).ShouldMapTo(action); }
public virtual ActionResult Put(RoleForm model) { if (model != null) { if (ModelState.IsValid) { var command = new UpdateRoleCommand(User) { EntityId = model.EntityId, Description = model.Description, RevokedUserEntityIds = model.Grants.Where(g => g.IsDeleted).Select(g => g.User.EntityId), GrantedUserEntityIds = model.Grants.Where(g => !g.IsDeleted).Select(g => g.User.EntityId), }; _services.UpdateHandler.Handle(command); SetFeedbackMessage(command.ChangeCount > 0 ? "Role has been successfully saved." : "No changes were made."); return Redirect(model.ReturnUrl); } return View(Views.form, model); } return HttpNotFound(); }