public async Task <DebtorAccountSaveResponse> SaveDebtorAsync(DebtorAccountSaveRequest model)
        {
            var moratorium = await _client.For <Ntt_breathingspacemoratorium>()
                             .Key(model.MoratoriumId)
                             .Expand(m => m.ntt_breathingspacemoratorium_ntt_breathingspacedebt_BreathingSpaceMoratoriumId)
                             .FindEntryAsync();

            var moratoriumId = moratorium.ntt_breathingspacemoratoriumid;

            var hasDebts = moratorium.ntt_breathingspacemoratorium_ntt_breathingspacedebt_BreathingSpaceMoratoriumId.Any();

            if (!hasDebts)
            {
                throw new UnprocessableEntityHttpResponseException("There must be one (1) eligible debt per breathing space");
            }

            var moratoriumReference = await _client.For <Ntt_breathingspacemoratorium>()
                                      .Key(moratoriumId)
                                      .Action("ntt_bssmoratoriumactivate")
                                      .Set(_auditContext.GenerateActionParameters())
                                      .ExecuteAsSingleAsync <string>();

            var auditDetail = _auditContext.ToAuditDetail(
                new Dictionary <string, object>
            {
                { nameof(model.MoratoriumId), model.MoratoriumId },
                { "ntt_bssmoratoriumactivate", true }
            });
            await _auditService.PerformAuditing(auditDetail);

            return(new DebtorAccountSaveResponse
            {
                MoratoriumReference = moratoriumReference
            });
        }
Beispiel #2
0
        public async Task <DebtorAccountSaveResponse> SaveDebtorAsync(DebtorAccountSaveRequest model)
        {
            var result = await _moneyAdviserGateway.SaveDebtorAsync(model);

            return(result);
        }