private void m_FileLoadWorker_DoWork(object sender, DoWorkEventArgs e) { PayPaymentSystem paymentSystem = (this.bsPaymentSystems.get_Current() as PayPaymentSystem) ?? PayPaymentSystem.Null; Organization agent = this.agentSelector.SelectedOrganizationOld ?? Organization.Null; System.DateTime paymentOrderDate = (this.dbPaymentOrderDate == null) ? Constants.NullDate : this.dbPaymentOrderDate.Value; System.DateTime paymentOrderPeriod = (this.dbPaymentOrderPeriod == null) ? Constants.NullDate : this.dbPaymentOrderPeriod.Value; if (paymentOrderPeriod != Constants.NullDate) { paymentOrderPeriod = System.Convert.ToDateTime(string.Concat((object[]) new object[] { "01.", ((int) paymentOrderPeriod.get_Month()), ".", ((int) paymentOrderPeriod.get_Year()) })); } string selectedFileName = this.fileNameSelector.SelectedFileName; if (!string.IsNullOrEmpty(selectedFileName)) { if ((paymentSystem.Name == "Система Город") || (paymentSystem.Name == "Система \"Город\"")) { ReesterType reeType = ReesterType.OUT_CASHPAY; if (this.m_CashPaymentReesterRadio.get_Checked()) { reeType = ReesterType.OUT_CASHPAY; } else if (this.m_CashlessPaymentReesterRadio.get_Checked()) { reeType = ReesterType.OUT_CASHLESS; } else if (this.m_ReturnReesterRadio.get_Checked()) { reeType = ReesterType.OUT_STORNO; } try { Reester248 fileRee = new Reester248(reeType, selectedFileName, System.Text.Encoding.GetEncoding(0x4e3)); PayReester reester2 = PayReester.SaveCityReesterToDatabase(fileRee, paymentSystem, agent); System.IO.FileInfo info = new System.IO.FileInfo(fileRee.FileName); info.MoveTo(info.Directory + @"\Z_" + info.get_Name()); e.set_Result(reester2); return; } catch (System.Exception exception) { throw new System.ApplicationException("Файл реестра: " + selectedFileName, exception); } } string name = string.Empty; if (this.m_CashPaymentReesterRadio.get_Checked()) { name = "Наличные платежи"; } else if (this.m_CashlessPaymentReesterRadio.get_Checked()) { name = "Безналичные платежи"; } else if (this.m_ReturnReesterRadio.get_Checked()) { name = "Возвраты платежей"; } else if (this.m_ReturnCashlessReesterRadio.get_Checked()) { name = "Возвраты безналичных платежей"; } FasetItem @null = FasetItem.Null; if (name != string.Empty) { @null = FasetItem.FindByName(FasetsEnum.PaymentsReestrType, name); } try { e.set_Result(PayReester.LoadReesterFromFile(selectedFileName, paymentSystem, agent, @null, paymentOrderDate, paymentOrderPeriod)); } catch (System.Exception exception2) { throw new System.ApplicationException("Файл реестра: " + selectedFileName, exception2); } } }
public static PayReester SaveCityReesterToDatabase(Reester248 fileRee, PayPaymentSystem paymentSystem, AIS.SN.Model.DomainObjects.Organization agent) { PayReester reester = new PayReester { PaymentSystem = "Система \"Город\"", PaymentSystemId = paymentSystem.Id, Number = ((int) fileRee.Number).ToString() }; FasetItem item = FasetItem.FindByName(FasetsEnum.PaymentsReestrType, Reester.GetTypeDescription(fileRee.ReeType)); reester.ReeTypeId = item.Id; FasetItem item2 = FasetItem.FindByName(FasetsEnum.PaymentReestrStatus, "Загружен"); reester.StatusId = item2.Id; reester.Created = fileRee.Created; reester.FromDate = fileRee.FromDate; reester.ToDate = fileRee.ToDate; reester.Organization = ((int) fileRee.AgentId).ToString(); reester.OrganizationId = agent.Id; reester.Summ = fileRee.ReeSumm; reester.Records = fileRee.RecCount; reester.PaymentService = ((int) fileRee.Service).ToString(); reester.SaveChanges(); foreach (Record record in fileRee.Records) { PayReesterRecord record2; new PayReesterRecord { ReesterId = reester.Id, StatusId = reester.StatusId, AccountNumber = record.acc_pu, AbonentName = record.fio, Address = record.address, SubService = record.sub_srv_pu, PaymentSumm = record.summ, Period = record.dateb.get_HasValue() ? record.dateb.Value : record2.Period, Apx = record.apx, PaymentDate = record.created.get_HasValue() ? record.created.Value : record2.PaymentDate, ExternalTransactionId = record.uno.ToString() }.SaveChanges(); } reester.Prepare(); return reester; }