/// <inheritdoc /> public int CreateUserInvitation(CreateUserInvitationCommand command, string inviteGuid) { var entity = mapper.Map <UserInvitationEntity>(command); entity.CreatedAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); entity.InvitationGuid = inviteGuid; context.UserInvitations.Add(entity); context.SaveChanges(); return(entity.UserInvitationEntityId); }
public Result <string> CreateUserInvitation(CreateUserInvitationCommand command) { if (command.OrganizationId <= 0) { return(new Result <string>(UserInvitationServiceErrors.InvalidOrganizationIdError())); } var existsOrganizationById = organizationService.ExistsOrganizationById(command.OrganizationId); if (existsOrganizationById.IsFailure || !existsOrganizationById.Value) { return(new Result <string>(UserInvitationServiceErrors.OrganizationNotFoundError())); } if (string.IsNullOrWhiteSpace(command.ExternalUserId)) { return(new Result <string>(UserInvitationServiceErrors.InvalidExternalUserIdError())); } if (command.OrganizationUserId <= 0) { return(new Result <string>(UserInvitationServiceErrors.InvalidOrganizationUserIdError())); } var existOrganizationUser = organizationUserService.ExistOrganizationUser(command.OrganizationUserId, command.OrganizationId); if (existOrganizationUser.IsFailure || !existOrganizationUser.Value) { return(new Result <string>(UserInvitationServiceErrors.OrganizationUserNotFoundError())); } var inviteGuid = Guid.NewGuid().ToString(); var inviteId = userInvitationRepository.CreateUserInvitation(command, inviteGuid); logger.LogInformation($"User Invitation Created: ID {inviteId} CODE {inviteGuid}"); return(new Result <string>(inviteGuid)); }