private static void Upload() { try { using (var db = new CreditinfoServiceEntities()) { for (int i = 0; i < 20; i++) { var data = db.GetInfoForContracts_IntallmentML().ToList(); if (data.Count <= 0) { break; } // using (var client = new CreditinfoService.ServiceSoapClient()) { var common = System.IO.File.ReadAllText(@"C:\Users\L.Shanava\Desktop\PAB\CreditInfo\Shablons\ML\contract_outer.xml"); var template = System.IO.File.ReadAllText(@"C:\Users\L.Shanava\Desktop\PAB\CreditInfo\Shablons\ML\contract.xml"); var guid = Guid.NewGuid().ToString(); var fileName = @"C:\Users\L.Shanava\Desktop\PAB\CreditInfo\Shablons\ML\Generated_Instalment\" + guid + ".xml"; float id = 1; foreach (var item in data) { var _clients = db.Clients .Where(s => s.ActiveID == item.activeid && s.IndividualType == "IndividualRelation") .ToList <Client>(); var _clientsCompany = db.Clients .Where(s => s.ActiveID == item.activeid && s.IndividualType != "IndividualRelation") .ToList <Client>(); string Content = ""; string SubjectWithContent = ""; // For Company string ContentCompany = ""; string SubjectWithContentCompany = ""; string SubjectResult = ""; Content = Content + $"<Subjects key=\"01\">" + "\n" + "<IndividualRelation>\n" + $"<IdentifierIndividual>{item.Subjects_IndividualRelation_IdentifierIndividual}</IdentifierIndividual>\n"; Content = Content + $"<RoleOfClient>{item.Subjects_IndividualRelation_RoleOfClient}</RoleOfClient>\n"; // Content=Content+ item.Subjects_IndividualRelation_RoleOfClient== "RoleOfClient.Guarantor"? $"<GuaranteeAmount>\n<AmountValue>{item.amount}" Content = Content + "</IndividualRelation>\n</Subjects>"; SubjectResult = Content; int step = 1; foreach (var cl in _clients) { step++; Content = Content + $"\n<Subjects key=\"0{step}\">" + "\n" + "<IndividualRelation>";// + $"<IdentifierIndividual>{item.Subjects_IndividualRelation_IdentifierIndividual}</IdentifierIndividual>\n"; Content = Content + "\n" + $"<IdentifierIndividual>{cl.PIN.Trim()}</IdentifierIndividual>" + "\n" + $"<RoleOfClient>{cl.RoleOfClient.Trim()}</RoleOfClient>"; //Content = Content + cl.RoleOfClient.Trim() == "RoleOfClient.Guarantor" ? $"\n <GuaranteeAmount>\n<AmountValue>\n{cl.GauarnteeAmount}</AmountValue>\n<Currency>{cl.Currency}</Currency>\n</GuaranteeAmount>" : ""; if (cl.RoleOfClient.Trim() == "RoleOfClient.Guarantor") { Content = Content + $"\n <GuaranteeAmount>\n<AmountValue>{cl.GauarnteeAmount}</AmountValue>\n<Currency>{cl.Currency}</Currency>\n</GuaranteeAmount>"; } Content = Content + "\n</IndividualRelation>\n</Subjects>\n"; } if (_clients.Count > 0) { SubjectWithContent = Content; } foreach (var cl in _clientsCompany) { //ContentCompany = ContentCompany + "\n" + $"<IdentifierCompany> {cl.PIN.Trim()} </IdentifierCompany>" + "\n" + $"<RoleOfClient> {cl.RoleOfClient.Trim()} </RoleOfClient>"; step++; Content = Content + $"<Subjects key=\"0{step}\">" + "\n" + "<IndividualCompany>";// + $"<IdentifierIndividual>{item.Subjects_IndividualRelation_IdentifierIndividual}</IdentifierIndividual>\n"; Content = Content + "\n" + $"<IdentifierCompany>{cl.PIN.Trim()}</IdentifierCompany>" + "\n" + $"<RoleOfClient>{cl.RoleOfClient.Trim()}</RoleOfClient>"; //Content = Content + cl.RoleOfClient.Trim() == "RoleOfClient.Guarantor" ? $"\n <GuaranteeAmount>\n<AmountValue>\n{cl.GauarnteeAmount}</AmountValue>\n<Currency>{cl.Currency}</Currency>\n</GuaranteeAmount>" : ""; if (cl.RoleOfClient.Trim() == "RoleOfClient.Guarantor") { Content = Content + $"\n <GuaranteeAmount>\n<AmountValue>{cl.GauarnteeAmount}</AmountValue>\n<Currency>{cl.Currency}</Currency>\n</GuaranteeAmount>"; } Content = Content + "\n</IndividualRelation>\n</Subjects>\n"; } if (_clientsCompany.Count > 0) { SubjectWithContentCompany = ContentCompany; } if (_clients.Count > 0 || _clientsCompany.Count > 0) { SubjectResult = SubjectWithContent + SubjectWithContentCompany; } var realend = item.Dates_RealEnd; var content = template; content = content.Replace("_Dates_RealEnd_", item.Dates_RealEnd.HasValue ? item.Dates_RealEnd.Value.ToString("yyyy-MM-ddT00:00:00") : ""); content = content.Replace("_CaseNumber_", item.CaseNumber); content = content.Replace("_RepaymentInstalment_", item.RepaymentInstalment); content = content.Replace("_CommandIdentifier_", "\"" + item.CaseNumber.ToString() + "\""); content = content.Replace("_InstalmentType_", item.InstalmentType); content = content.Replace("_PeriodicityOfPayments_", item.PeriodicityOfPayments); content = content.Replace("_TotalCreditAmount_AmountValue_", item.TotalCreditAmount_AmountValue.ToString()); content = content.Replace("_TotalCreditAmount_Currency_", item.TotalCreditAmount_Currency); content = content.Replace("_StandardInstallmentCount_", item.StandardInstallmentCount.ToString()); content = content.Replace("_StandardInstallmentAmount_AmountValue_", item.StandardInstallmentAmount.ToString()); content = content.Replace("_StandardInstallmentAmount_Currency_", item.TotalCreditAmount_Currency); content = content.Replace("_OverdueInstallmentCount_", item.OverdueInstallmentCount.ToString()); content = content.Replace("_OverdueAmount_AmountValue_", item.OverdueAmount_AmountValue.ToString()); content = content.Replace("_OverdueAmount_Currency_", item.OverdueAmount_Currency); content = content.Replace("_OutstandingInstallmentCount_", item.OutstandingInstallmentCount.ToString()); content = content.Replace("_OutstandingAmount_AmountValue_", item.OutstandingAmount_AmountValue.ToString()); content = content.Replace("_OutstandingAmount_Currency_", item.OutstandingAmount_Currency); content = content.Replace("_LoanType_", item.LoanType); content = content.Replace("_CreditPurpose_", item.CreditPurpose); content = content.Replace("_CreditCurrency_", item.CreditCurrency); content = content.Replace("_Dates_Start_", item.Dates_Start.HasValue ? item.Dates_Start.Value.ToString("yyyy-MM-ddT00:00:00") : ""); content = content.Replace("_Dates_ExpectedEnd_", item.Dates_ExpectedEnd.HasValue ? item.Dates_ExpectedEnd.Value.ToString("yyyy-MM-ddT00:00:00") : ""); content = content.Replace("_Dates_Overdue_", item.Dates_Overdue.HasValue ? item.Dates_Overdue.Value.ToString("yyyy-MM-ddT00:00:00") : ""); content = content.Replace("_Dates_Repayment_", item.Dates_Repayment.HasValue ? item.Dates_Repayment.Value.ToString("yyyy-MM-ddT00:00:00") : ""); content = content.Replace("_Penalty_PenaltySum_AmountValue_", item.Penalty_PenaltySum_AmountValue.ToString()); content = content.Replace("_Penalty_PenaltySum_Currency_", item.Penalty_PenaltySum_Currency); content = content.Replace("_Penalty_PenaltyPaid_Currency_", item.Penalty_PenaltyPaid_Currency); content = content.Replace("_Penalty_PenaltyPaid_AmountValue_", item.Penalty_PenaltyPaid_AmountValue.ToString()); content = content.Replace("_PhaseofOperation_", item.PhaseofOperation); content = content.Replace("_Dates_ExpofLimitation_", item.Dates_ExpofLimitation.HasValue ? item.Dates_ExpofLimitation.Value.ToString("yyyy-MM-ddT00:00:00") : ""); //content = content.Replace("_Subjects_IndividualRelation_IdentifierIndividual_", item.Subjects_IndividualRelation_IdentifierIndividual); // content = content.Replace("_Subjects_IndividualRelation_RoleOfClient_", item.Subjects_IndividualRelation_RoleOfClient); content = content.Replace("_Subjects_IndividualRelation_IdentifierIndividual_", null); content = content.Replace("_Subjects_IndividualRelation_RoleOfClient_", null); content = content.Replace("_getdate_", DateTime.Now.AddHours(-5).ToString("yyyy-MM-ddTHH:mm:ss")); content = content.Replace("_CurrentOverduePrincipalAmount_AmountValue_", item.CurrentOverduePrincipalAmount_AmountValue.ToString()); content = content.Replace("_CurrentOverduePrincipalAmount_Currency_", item.CurrentOverduePrincipalAmount_Currency); content = content.Replace("_CurrentOverdueInteresetandCommissionAmount_AmountValue_", item.CurrentOverdueInteresetandCommissionAmount_AmountValue.ToString()); content = content.Replace("_CurrentOverdueInteresetandCommissionAmount_Currency_", item.CurrentOverdueInteresetandCommissionAmount_Currency); content = content.Replace("_CurrentOutstandingPrincipalAmount_AmountValue_", item.CurrentOutstandingPrincipalAmount_AmountValue.ToString()); content = content.Replace("_CurrentOutstandingPrincipalAmount_Currency_", item.CurrentOutstandingPrincipalAmount_Currency); content = content.Replace("_MaximumNumberofDelinquencyDays_", item.MaximumNumberofDelinquencyDays.ToString()); content = content.Replace("_TotalNumberofDelinquencyDays_", item.TotalNumberofDelinquencyDays.ToString()); content = content.Replace("_TotalNumberofDelinquencyDaysInLastYear_", item.TotalNumberofDelinquencyDaysInLastYear.ToString()); content = content.Replace("_TotalNumberofOverdueInstallments_", item.TotalNumberofOverdueInstallments.ToString()); content = content.Replace("_CurrentUndisbursedLoanAmount_AmountValue_", item.CurrentUndisbursedLoanAmount_AmountValue.ToString()); content = content.Replace("_LoanPartiallySecuredByDeposit_", item.LoanPartiallySecuredByDeposit); content = content.Replace("_CurrentUndisbursedLoanAmount_AmountValue_", item.CurrentUndisbursedLoanAmount_AmountValue.ToString()); content = content.Replace("_CurrentUndisbursedLoanAmount_Currency_", item.TotalCreditAmount_Currency); content = content.Replace("_ContractTerm_", item.ContractTerm); content = content.Replace("_MaximumAmountOfInstalmentBySchedule_AmountValue_", item.MaxInstallmentAmount.ToString()); content = content.Replace("_MaximumAmountOfInstalmentBySchedule_Currency_", item.MaxInstallmentCurrency); content = content.Replace("<IdentifierIndividual>_Subjects_IndividualRelation_IdentifierIndividual1_</IdentifierIndividual>", SubjectResult); content = string.Format("{0}\r\n_contract_\r\n", content); common = common.Replace("_contract_", content); id++; } common = common.Replace("_contract_", ""); common = common.Replace("_identifier_", CalculateMD5Hash(guid)); common = RemoveEmptyNodes(common); System.IO.File.WriteAllText(fileName, common); // es agzavnis UploadFile(fileName); } //BatchResponse(); } } } catch (Exception ex) { SendMail("PubInvest_Upload კრედიტინფოს სერვისის გაშვებისას დაფიქსირდა ხარვეზი,მიზეზი: " + System.Environment.NewLine + ex.Message.ToString()); } }