public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var readCommand = new EntityIdentifierQuery <Guid, MemberUpdateModel>(User, Id); var updateModel = await Mediator.Send(readCommand); if (updateModel == null) { return(NotFound()); } // only update input fields await TryUpdateModelAsync( updateModel, nameof(Entity), p => p.DisplayName, p => p.SortName, p => p.FamilyName, p => p.GivenName, p => p.JobTitle, p => p.Email, p => p.PhoneNumber ); // compute sort name if (updateModel.SortName.IsNullOrWhiteSpace()) { updateModel.SortName = ToSortName(updateModel); } if (IsMemberDisabled && updateModel.LockoutEnd == null) { updateModel.LockoutEnd = DateTimeOffset.Now.AddYears(100); } else if (!IsMemberDisabled && updateModel.LockoutEnd.HasValue) { updateModel.LockoutEnd = null; } var updateCommand = new EntityUpdateCommand <Guid, MemberUpdateModel, MemberReadModel>(User, Id, updateModel); var updateResult = await Mediator.Send(updateCommand); // make sure correct user and tenant Membership.UserId = updateResult.Id; Membership.TenantId = Tenant.Value.Id; var membershipCommand = new TenantMembershipCommand(User, Membership); var membershipResult = await Mediator.Send(membershipCommand); ShowAlert("Successfully saved member"); return(RedirectToPage("/Member/Edit", new { id = Id, tenant = TenantRoute })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var command = new TenantMembershipCommand(User, Membership); var result = await Mediator.Send(command); ShowAlert("Successfully saved membership"); return(RedirectToPage("/Global/User/Membership", new { Id, TenantId })); }
private async Task UpdateMembership(Core.Data.Entities.User user) { if (!Tenant.HasValue) { return; } var membershipQuery = new TenantMembershipQuery(User, Tenant.Value.Id, user.Id); var membership = await Mediator.Send(membershipQuery); // make sure user is member membership.IsMember = true; var membershipCommand = new TenantMembershipCommand(User, membership); membership = await Mediator.Send(membershipCommand); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var readCommand = new EntityIdentifierQuery <Guid, MemberUpdateModel>(User, Id); var updateModel = await Mediator.Send(readCommand); if (updateModel == null) { return(NotFound()); } // only update input fields await TryUpdateModelAsync( updateModel, nameof(Entity), p => p.DisplayName, p => p.Email, p => p.PhoneNumber ); var updateCommand = new EntityUpdateCommand <Guid, MemberUpdateModel, MemberReadModel>(User, Id, updateModel); var updateResult = await Mediator.Send(updateCommand); // make sure correct user and tenant Membership.UserName = updateResult.UserName; Membership.TenantId = Tenant.Value.Id; var membershipCommand = new TenantMembershipCommand(User, Membership); var membershipResult = await Mediator.Send(membershipCommand); ShowAlert("Successfully saved member"); return(RedirectToPage("/Member/Edit", new { id = Id, tenant = TenantRoute })); }