Exemplo n.º 1
0
        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();
        }