コード例 #1
0
        /// <summary>
        /// Получить данные из 1С и подготовить для вывода на форму асинхронно.
        /// </summary>
        /// <param name="service1C">Сервис 1С</param>
        /// <param name="account1CCode">Номер договора</param>
        /// <param name="secret1C">Данные для подключения</param>
        /// <param name="region">Регион</param>
        /// <param name="configuration">Настройки подключения</param>
        /// <returns>Модель данных для отображения</returns>
        public static async Task <IndexModel> GetDataFrom1CAsync(IService1СSoap service1C, string account1CCode,
                                                                 ISecret1C secret1C, string region, IConfiguration configuration)
        {
            IndexModel            result  = new IndexModel();
            CreditDocumentNResult account = await service1C.GetCreditDocumentAsync(
                secret1C.Servers[region],
                secret1C.Login,
                secret1C.Password,
                account1CCode,
                CancellationToken.None);

            if (account.CreditDocument == default)
            {
                throw new Exception($"{Environment.NewLine}{account.Errors}");
            }
            if (account.CreditDocument.Client == default)
            {
                throw new Exception($"{Environment.NewLine}Договор с номером \"{account1CCode}\" в базе 1С не найден");
            }

            CreditDocument creditDocument = account.CreditDocument;

            result.ClientPersonalInfo.AddressReq = (AddressReq[])creditDocument.Client;
            result.ClientPersonalInfo.IdReq      = (IdReq)creditDocument.Client;
            result.ClientPersonalInfo.PersonReq  = (PersonReq)creditDocument.Client;
            result.InquiryReq    = (InquiryReq)creditDocument;
            result.Client1CCode  = creditDocument.Client.ID1C;
            result.Account1CCode = creditDocument.Code1C;
            result.Account1CDate = SOAPNBCH.StringToDateTime(creditDocument.DateOfCredit);

            return(result);
        }
コード例 #2
0
        public IActionResult Index(NBCHRequestIndex data, string submit)
        {
            if (submit == "GetFrom1S")
            {
                CreditDocumentNResult dogovor1C      = Service1C.GetCreditDocument(new string[] { "" }, "sap", "~sap", "ddd");
                CreditDocument        creditDocument = dogovor1C.CreditDocument;

                data.AddressReq = (AddressReq[])creditDocument.Client;
                data.IdReq      = (IdReq)creditDocument.Client;
                data.PersonReq  = (PersonReq)creditDocument.Client;
            }
            return(View(data));
        }