public async Task <Guid> DebtorEndAccount(DebtorAccountEndRequest model)
        {
            var moratorium = await _client.For <Ntt_breathingspacemoratorium>()
                             .Key(model.MoratoriumId)
                             .Expand(x => x.ntt_debtorid)
                             .Expand(x => x.ntt_breathingspacetypeid)
                             .FindEntryAsync();

            var bsStatus = moratorium.GetMoratoriumStatus();

            if (bsStatus != MoratoriumStatus.Active)
            {
                throw new ConflictHttpResponseException();
            }

            var isInMentalHealthMoratorium = moratorium.ntt_breathingspacetypeid.ntt_breathingspacetypeid == _options.MentalHealthMoratoriumTypeId;

            var parameters = model.ToDictionary(_options, isInMentalHealthMoratorium)
                             .SetDynamicsActionAuditParameters(_auditContext);
            await _client
            .For <Ntt_breathingspacemoratorium>()
            .Key(model.MoratoriumId)
            .Action("ntt_BSSMoratoriumCancel")
            .Set(parameters)
            .ExecuteAsync();

            var contentDict = model.ToDictionary(_options, isInMentalHealthMoratorium);

            contentDict.Add(nameof(model.MoratoriumId), model.MoratoriumId);
            contentDict.Add("ntt_BSSMoratoriumCancel", true);
            await _auditService.PerformAuditing(_auditContext.ToAuditDetail(contentDict));

            return(model.MoratoriumId);
        }
Пример #2
0
        public async Task <IStatusCodeActionResult> DebtorEndAccount([FromRoute] Guid id, DebtorAccountEndRequest model)
        {
            model.MoratoriumId = id;
            await _moneyAdviserGateway.DebtorEndAccount(model);

            return(Ok());
        }