public EmptyResult UpdateUserInvitation(UpdateUserInvitationCommand command) { if (string.IsNullOrWhiteSpace(command.InvitationGuid)) { return(new EmptyResult(UserInvitationServiceErrors.InvalidUserInviteGuidError())); } if (string.IsNullOrWhiteSpace(command.ExternalUserId)) { return(new EmptyResult(UserInvitationServiceErrors.InvalidExternalUserIdError())); } if (command.AcceptedAt.HasValue && command.DeclinedAt.HasValue) { return(new EmptyResult(UserInvitationServiceErrors.CannotAcceptAndDeclineInvitationError())); } if (!userInvitationRepository.UserInvitationExists(command.InvitationGuid, command.ExternalUserId)) { return(new EmptyResult(UserInvitationServiceErrors.UserInvitationNotFoundError())); } userInvitationRepository.UpdateUserInvitation(command); return(new EmptyResult()); }
/// <inheritdoc /> public void UpdateUserInvitation(UpdateUserInvitationCommand command) { var entity = GetValidUserInvitations() .FirstOrDefault( ui => ui.InvitationGuid.Equals(command.InvitationGuid, StringComparison.InvariantCultureIgnoreCase) && ui.ExternalUserId.Equals(command.ExternalUserId, StringComparison.InvariantCultureIgnoreCase)); if (entity == null) { return; } if (command.AcceptedAt.HasValue) { entity.AcceptedAt = command.AcceptedAt.Value; } else if (command.DeclinedAt.HasValue) { entity.DeclinedAt = command.DeclinedAt.Value; } context.SaveChanges(); }