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 ) ) )); }
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() )); }