public async Task <Guid> CreateClientWithDetailsAsync(ClientDetailsCreateRequest model, Guid organisationId) { var dynamicsDebtorModel = new Ntt_breathingspacedebtor { ntt_firstname = model.FirstName, ntt_lastname = model.LastName, ntt_middlename = model.MiddleName, ntt_dateofbirth = model.DateOfBirth }; var debtorResult = await _client.For <Ntt_breathingspacedebtor>() .Set(dynamicsDebtorModel) .InsertEntryWithLogsAsync(_logger); var moneyAdviser = await _client.For <inss_moneyadviserorganisation>() .Key(organisationId) .FindEntryAsync(); var moratorium = new Ntt_breathingspacemoratorium { ntt_ManagingMoneyAdviserOrganisationId = moneyAdviser }; var moratoriumResult = await _client.For <Ntt_breathingspacemoratorium>() .Set(moratorium) .InsertEntryWithLogsAsync(_logger); await _client.For <Ntt_breathingspacedebtor>() .Key(debtorResult.Ntt_breathingspacedebtorid.Value) .LinkEntryWithLogsAsync(_logger, moratoriumResult, "Ntt_breathingspacedebtor_ntt_breathingspacemoratorium_debtorid"); await _auditService.PerformAuditing(_auditContext.ToAuditDetail(dynamicsDebtorModel.ToAuditDictionary())); return(moratoriumResult.ntt_breathingspacemoratoriumid.Value); }
public async Task <IStatusCodeActionResult> CreateAsync(ClientDetailsCreateRequest model) { var organisationId = GetOrganisationId(); var id = await _moneyAdviserGateway.CreateClientWithDetailsAsync(model, organisationId); return(Ok(id)); }