示例#1
0
        /// <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 = "Необходимо запросить анкету НБКИ";
                }
            }
示例#2
0
        /// <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 = "Необходимо запросить анкету НБКИ";
                }
            }
示例#3
0
        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}");
                    }
                }