public async Task <IActionResult> InviteAdministrator([FromBody] AdministratorInvitationInfo invitationInfo) { var(_, isFailure, error) = await _invitationService.SendInvitation(invitationInfo); if (isFailure) { return(BadRequest(ProblemDetailsBuilder.Build(error))); } return(NoContent()); }
public Task <Result> SendInvitation(AdministratorInvitationInfo invitationInfo) { var messagePayloadGenerator = new Func <AdministratorInvitationInfo, string, DataWithCompanyInfo>((info, invitationCode) => new AdministratorInvitationData { InvitationCode = invitationCode, UserEmailAddress = invitationInfo.Email, UserName = $"{invitationInfo.FirstName} {invitationInfo.LastName}" }); return(_userInvitationService.Send(invitationInfo.Email, invitationInfo, messagePayloadGenerator, _options.MailTemplateId, UserInvitationTypes.Administrator)); }