/// <summary> /// Отобразить ПДН. /// </summary> /// <param name="account1CCode">Номер договора 1С</param> /// <param name="accountDate">Дата договора</param> /// <param name="client1CCode">Код клиента 1С</param> /// <param name="canEdit">Разрешено редактирование</param> /// <returns>Представление содержащее ПДН</returns> public async Task <IViewComponentResult> InvokeAsync(string account1CCode, DateTime accountDate, string client1CCode, bool canEdit) { PDNEditViewComponentView pdnEditComponentView = new PDNEditViewComponentView { Disabled = !canEdit }; CancellationToken cancellationToken = CancellationToken.None; if (!string.IsNullOrEmpty(account1CCode)) { try { PDNInfoList pdnInfoList = await _ServiceServicePDN.GetSavedPDNAsync(account1CCode, CancellationToken.None); if (pdnInfoList == default && !string.IsNullOrEmpty(client1CCode) && accountDate != default) { pdnInfoList = await _ServiceServicePDN.CalculatePDNAsync(account1CCode, accountDate, client1CCode, cancellationToken); if (pdnInfoList.ReportDate >= accountDate.AddDays(-SOAPNBCH.NBCHAnketaExpiredDay)) { await _ServiceServicePDN.SavePDNAsync(pdnInfoList, cancellationToken); pdnEditComponentView.Message = @"Данные обновлены"; } else { pdnEditComponentView.Message = @"Для расчета ПДН, требуется обновить анкету НБКИ"; } } else { pdnEditComponentView.Message = @"У договора нет рассчитанного ПДН и нет данных для нового расчета"; } pdnEditComponentView.PDNCards = pdnInfoList?.PDNCards ?? new PDNCard[0]; pdnEditComponentView.PDNNonCards = pdnInfoList?.PDNNonCards ?? new PDNNonCard[0]; } catch (PDNAnketaNotFoundException) { pdnEditComponentView.Message = "Необходимо запросить анкету НБКИ"; } }
/// <summary> /// Отобразить ПДН. /// </summary> /// <param name="account1CCode">Номер договора 1С</param> /// <param name="accountDate">Дата договора</param> /// <param name="client1CCode">Код клиента 1С</param> /// <param name="canEdit">Можно редактировать</param> /// <returns>Представление содержащее ПДН</returns> public async Task <IViewComponentResult> InvokeAsync(string account1CCode, DateTime accountDate, string client1CCode, bool canEdit) { CancellationToken cancellationToken = CancellationToken.None; PDNDataView pdnDataView = new PDNDataView { CanEdit = canEdit }; if (!string.IsNullOrEmpty(account1CCode) && !string.IsNullOrEmpty(client1CCode)) { try { pdnDataView.PDNInfoList = await _ServiceServicePDN.GetSavedPDNAsync(account1CCode, cancellationToken); if (pdnDataView.PDNInfoList == default) { PDNInfoList pdnInfoList = await _ServiceServicePDN.CalculatePDNAsync(account1CCode, accountDate, client1CCode, cancellationToken); if (pdnInfoList.ReportDate >= accountDate.AddDays(-SOAPNBCH.NBCHAnketaExpiredDay)) { await _ServiceServicePDN.SavePDNAsync(pdnInfoList, cancellationToken); pdnDataView.PDNInfoList = pdnInfoList; pdnDataView.Message = @"Данные обновлены"; } else { pdnDataView.Message = @"Для расчета ПДН, требуется обновить анкету НБКИ"; } } ; } catch (PDNAnketaNotFoundException) { pdnDataView.Message = "Необходимо запросить анкету НБКИ"; } }
public async Task <IActionResult> Index(string[] file) { CancellationToken cancellationToken = CancellationToken.None; List <string> message = new List <string>(); ModelState.Clear(); foreach (string account1C in file) { IndexModel credit = await NBCHRequest.GetDataFrom1CAsync(_Service1C, account1C, _Secret1Cs, "Дальний восток", _Configuration); if (!String.IsNullOrEmpty(credit.Account1CCode) && !String.IsNullOrEmpty(credit.Client1CCode)) { try { PDNInfoList pdnInfoListN = await _ServiceServicePDN.GetSavedPDNAsync(account1C, cancellationToken); if (pdnInfoListN == default) { PDNInfoList pdnInfoList = await _ServiceServicePDN.CalculatePDNAsync(credit.Account1CCode, credit.Account1CDate, credit.Client1CCode, cancellationToken); if (pdnInfoList.ReportDate >= credit.Account1CDate.AddDays(-SOAPNBCH.NBCHAnketaExpiredDay)) { await _ServiceServicePDN.SavePDNAsync(pdnInfoList, cancellationToken); message.Add($"Договор {credit.Account1CCode}, данные обновлены"); } else { message.Add($"Договор {credit.Account1CCode}, для расчета ПДН, требуется обновить анкету НБКИ"); } } ; } catch (FaultException ex) { message.Add($"Договор {credit.Account1CCode}, {ex.Message}"); } }