Exemple #1
0
 public async Task <IActionResult> EditContactAsync(Guid id,
                                                    [FromBody] CreateOrEditContactRequestDto request)
 {
     return(await WithNotFoundHandlingAsync(
                () =>
                _mediator.Send(new EditContactCommand
                               (
                                   id,
                                   request.FirstName,
                                   request.LastName,
                                   request.OrganisationName,
                                   request.WebsiteUrl,
                                   request.Notes,
                                   request.Phones,
                                   request.Addresses,
                                   request.Emails,
                                   request.Categories,
                                   request.Tags,
                                   request.CustomFields
                               )
                               )
                ));
 }
Exemple #2
0
        public async Task <CreateOrGetContactResponseDto> CreateContactAsync([FromBody] CreateOrEditContactRequestDto request)
        {
            var contactId = await _mediator.Send(new CreateContactCommand
                                                 (
                                                     request.FirstName,
                                                     request.LastName,
                                                     request.OrganisationName,
                                                     request.WebsiteUrl,
                                                     request.Notes,
                                                     request.Phones,
                                                     request.Addresses,
                                                     request.Emails,
                                                     request.Categories,
                                                     request.Tags,
                                                     request.CustomFields
                                                 )
                                                 );

            return(new CreateOrGetContactResponseDto(
                       contactId,
                       request.FirstName,
                       request.LastName,
                       request.OrganisationName,
                       request.WebsiteUrl,
                       request.Notes,
                       request.Phones?
                       .Select(x => new PhoneResponseDto(x.PhoneNo, x.PhoneNo.FormatPhoneNo(), x.Type))
                       .ToArray() ??
                       Array.Empty <PhoneResponseDto>(),
                       request.Addresses ?? Array.Empty <string>(),
                       request.Emails ?? Array.Empty <string>(),
                       request.Categories ?? Array.Empty <string>(),
                       request.Tags ?? Array.Empty <string>(),
                       request.CustomFields ?? new()
                       ));
        }