public static DebtRequest ProcessCheckRequest(DebtRequest request) { PayRequest request3; DebtRequest request2 = new DebtRequest(); request3 = new PayRequest { Period = System.DateTime.Now, Period = request3.Period.AddDays((double) (1 - request3.Period.get_Day())), PaymentSystem = request.Sender.PaymentSystem, Organization = request.Sender.Organization, Office = request.Sender.Office, Terminal = request.Sender.Terminal, Operator = request.Sender.Operator }; request3.SaveChanges(); request3.DebtProcessRequest(true, request.RequestParameters.DebtAccountId); request3 = ObjectWithId.FindById<PayRequest>(request3.Id); request2.ResponseParameters.Paid = request3.TotalDebt; request2.ResponseParameters.RequestId = request3.Id; request2.ResponseParameters.DebtAccountId = request.RequestParameters.DebtAccountId; request2.ResponseParameters.UK = request3.AdditionalInfo; request2.ResponseParameters.Address = request3.AddressName; request2.ResponseParameters.Account = request3.AccountNumber; request2.ResponseParameters.OwnerName = request3.OwnerName; return request2; }
public static void ShowDialog(System.Windows.Forms.IWin32Window owner, PayRequest request) { System.Data.DataTable dataTableByRequestIdFormSpScheme; System.Data.DataTable dataTableById; System.Data.DataTable dataTableByRequestId = PayRequestBenefit.GetDataTableByRequestId(request); if ((dataTableByRequestId == null) || (dataTableByRequestId.Rows.get_Count() == 0)) { System.Data.DataRow row = dataTableByRequestId.Rows.Add((object[]) new object[0]); row.set_Item("benefitName", "Льготы отсутствуют"); row.set_Item("PersonsCount", 0); } if (request.Id > 0L) { dataTableByRequestIdFormSpScheme = PayRequestService.GetDataTableByRequestId(request); } else { dataTableByRequestIdFormSpScheme = PayRequestService.GetDataTableByRequestIdFormSpScheme(request); } StiReport report = new StiReport(); string valueByName = Setting.GetValueByName("Глобальные установки", "Шаблон квитанции"); string info = ""; if (valueByName == "ReceiptReportSakhalin") { report.Load(Resources.ReceiptReportSakhalin); long accountId = 0L; if (long.TryParse(request.AccountId, ref accountId) && (accountId > 0L)) { info = Organization.FindHouseHolderByAccountId(accountId).Info; } } else { bool flag = (bool) ((Setting.GetValueByName("Параметры квитанций", "Печатать в кассе колонку ЕДК") ?? "").ToUpper() == "ДА"); report.Load(flag ? Resources.ReceiptReportWithEDK : Resources.ReceiptReport); info = (Organization.CentralOffice == Organization.Null) ? ((string) "Отсутсвует ОРГАНИЗАЦИЯ в глобальных установках") : Organization.CentralOffice.Info; } report.Compile(); report.Dictionary.Variables.Add("orgInfo", info); report.Dictionary.Variables.Add("diffEDKMonth", ("Да" == (Setting.GetValueByName("Параметры расчетов", "Использовать ЕДК за предыдущий период") ?? string.Empty)) ? -1 : 0); if (request.Id > 0L) { dataTableById = PayRequest.GetDataTableById(request); } else { dataTableById = PayRequest.GetDataTableByIdFormSpScheme(request); } report.RegData("dataRequests", (System.Data.DataTable) dataTableById); report.RegData("dataRequestBenefits", (System.Data.DataTable) dataTableByRequestId); report.RegData("dataRequestServices", (System.Data.DataTable) dataTableByRequestIdFormSpScheme); report.Show((System.Windows.Forms.IWin32Window) owner); }
public static System.Data.DataTable GetDataTableByRequestIdFormSpScheme(PayRequest payRequest) { return Mappers.PayRequestServiceMapper.GetDataTableByRequestIdFormSpScheme(-payRequest.Id); }
public static System.Data.DataTable GetDataTableByRequestId(PayRequest payRequest) { return Mappers.PayRequestBenefitMapper.GetDataTableByRequestId(payRequest.Id); }
private void CashPaymentForm_Load(object sender, System.EventArgs e) { if (!Manager.DesignMode) { ObjectList<DebtAction> list = new ObjectList<DebtAction>(); list = Mappers.DebtActionMapper.FindByAccountId(this.m_Account.Id); if (list.get_Count() > 0) { ObjectList<DebtAction> list2 = new ObjectList<DebtAction> { DebtAction.Null }; list2.AddRange(list); this.cbActions.set_DataSource(list2); } else { this.tableLayoutPanel1.Controls.Remove(this.cbActions); this.tableLayoutPanel1.SetRowSpan(this.dataGridView1, (int) (this.tableLayoutPanel1.GetRowSpan(this.dataGridView1) + 1)); } if (User.IsMemberOf(RightsEnum.АРМКассирОплатаВозможностьУстанавливатьДатуОплаты)) { this.tpDatePayment.set_Enabled(true); } else { this.tpDatePayment.set_Enabled(false); } base.SuspendLayout(); this.set_Font(Manager.WindowFont); this.m_PeriodsSource.set_DataSource(Mappers.CalcPeriodMapper.FindAll()); this.m_PeriodsSource.set_Position(1); ObjectList<Organization> serviceHouseHolders = this.m_Account.GetServiceHouseHolders(); serviceHouseHolders.Insert(0, Organization.Null); this.m_HouseHoldersSource.set_DataSource(serviceHouseHolders); this.m_HouseHoldersSource.set_Position(this.m_HouseHoldersSource.IndexOf(Organization.Null)); this.m_Request = new PayRequest(); this.m_Request.PaymentSystem = PayRequest.LocalPaymentSystem; this.m_Request.Organization = Constants.OrgName; this.m_Request.Office = ""; this.m_Request.Terminal = Settings.Default.CashierTerminal; this.m_Request.Operator = User.CurrentUser.Name; this.m_Request.AccountNumber = this.m_Account.Number; this.m_Request.IsManualReturn = Settings.Default.CashierReturnMode; this.m_Request.CashFlowTypeId = Settings.Default.CashierCashFlowType; if (this.m_BarCode != string.Empty) { this.m_Request.IsByNotice = true; this.m_PayRequestCounters.set_DataSource(this.m_Request.GetRequestCounters()); } else { this.tab.TabPages.Remove(this.tpCounters); } this.m_Request.UseBankrupt = this.chbxUseAccountServiceBankrupts.get_Checked(); this.m_Request.NeedServiceCollapse = Settings.Default.NeedServiceCollapse; this.m_Request.PaymentDate = this.m_PaymentDate; this.m_Request.UsePaymentDate = Settings.Default.UsePaymentOrderDateForProcessPayment; this.m_Request.CashPaymentOrderType = this.m_CashPaymentOrderType; this.m_Request.SubService = this.m_subService; this.m_Request.PaymentOrderPackId = this.m_PaymentOrderPackId; this.m_Request.SaveChanges(); this.MakeRequest(); if (Settings.Default.CashierReturnMode) { this.m_PaymentButton.set_ForeColor(System.Drawing.Color.Red); this.m_PaymentButton.set_Font(new System.Drawing.Font(this.m_PaymentButton.Font, System.Drawing.FontStyle.Bold)); this.m_PaymentButton.set_Text("&ВОЗВРАТ"); this.m_OneSummPaymentCheckBox.set_Text("Возвращается"); } this.selectDataGridViewTextBoxColumn.set_Visible(Settings.Default.CachierCanExcludeServiceFromPayment); if (Setting.GetValueByName("Интерфейсы", "АРМ Кассир. Учитывать невозвратные долги по умолчанию").ToUpper() != "ДА") { this.chbxUseAccountServiceBankrupts.set_Checked(false); } base.ResumeLayout(); } }
private void m_RequestWorker_DoWork(object sender, DoWorkEventArgs e) { this.m_Request = ObjectWithId.FindById<PayRequest>(this.m_Request.Id); Organization organization = ((Organization) this.m_HouseHoldersSource.get_Current()) ?? Organization.Null; this.m_Request.HouseHolderId = organization.Id; this.m_Request.Period = (System.DateTime) e.get_Argument(); this.m_Request.PaidSumm = 0M; this.m_Request.UseBankrupt = this.chbxUseAccountServiceBankrupts.get_Checked(); this.m_Request.PaymentOrderDate = this.m_OrderDate; this.m_Request.NeedServiceCollapse = Settings.Default.NeedServiceCollapse; this.m_Request.SubService = this.m_subService; this.m_Request.IsManualReturn = Settings.Default.CashierReturnMode; this.m_Request.DebtActionId = this.m_DebtActionId; this.m_Request.PaymentDate = this.m_PaymentDate; this.m_Request.SaveChanges(); foreach (PayRequestServicePayAmount amount in this.m_Request.GetRequestServicePayAmounts()) { amount.Delete(); } ObjectList<PayRequestService> requestServices = this.m_ServicesSource.get_DataSource() as ObjectList<PayRequestService>; if ((requestServices != null) && !this.m_HouseHolderChanged) { this.FillPayRequestServicePayAmount(requestServices); } this.m_Request.ProcessRequest_Cash(this.m_IsFirstRequest); requestServices = this.m_ServicesSource.get_DataSource() as ObjectList<PayRequestService>; if ((requestServices != null) && this.m_HouseHolderChanged) { this.FillPayRequestServicePayAmount(requestServices); this.m_HouseHolderChanged = false; } this.m_Request = ObjectWithId.FindById<PayRequest>(this.m_Request.Id); }
private void m_ProcessPayment(object sender, System.DateTime period) { if (this.m_Request == null) { Messages.ShowError("ОПЛАТА НЕВОЗМОЖНА. ЗАКРОЙТЕ И ОТКРОЙТЕ ФОРМУ ПЛАТЕЖЕЙ"); } else { lock (LockProcessPayment) { PayPaymentMoreFixedSum sum = new PayPaymentMoreFixedSum(); if (this.m_TotalPaid >= PersonsCashSearchForm.FixedSumm) { PersonsCashSearchForm form = new PersonsCashSearchForm(); if (form.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) { base.ParentForm.Close(); goto Label_0374; } sum.PersonId = form.SelectPerson.Id; } PayRequest payment = null; bool flag = false; try { DALSql.ExecuteNonQuery("begin transaction", null); this.m_Request.IsConfirmed = true; this.m_Request.ConfirmedAt = DALSql.GetDatabaseTime(); this.m_Request.PaidSumm = this.m_TotalPaid; this.m_Request.RequestTypeFasetId = Mappers.FasetItemMapper.FindByName(FasetsEnum.PaymentOperationType, "Оплата наличными").Id; this.m_Request.IsManualReturn = Settings.Default.CashierReturnMode; PayLocalTransaction transaction = new PayLocalTransaction { RequestId = this.m_Request.Id }; transaction.SaveChanges(); this.m_Request.ExternalTransactionId = ((long) transaction.Id).ToString(); this.m_Request.AgentId = this.m_Agent.Id; this.m_Request.PackNumber = this.m_PackNumber; this.m_Request.PaymentOrderNumber = this.m_OrderNumber; this.m_Request.PaymentOrderDate = this.m_OrderDate; this.m_Request.PaymentOrderPackId = this.m_PaymentOrderPackId; this.m_Request.UseBankrupt = this.chbxUseAccountServiceBankrupts.get_Checked(); this.m_Request.NeedServiceCollapse = Settings.Default.NeedServiceCollapse; this.m_Request.SubService = this.m_subService; this.m_Request.SaveChanges(); ObjectList<PayRequestCounter> list = this.m_PayRequestCounters.get_DataSource() as ObjectList<PayRequestCounter>; if (list != null) { foreach (PayRequestCounter counter in list) { counter.SaveChanges(); } } this.m_Request.ProcessPayment(); this.m_Request.ProcessPayment_ValidateSumm(); if (this.m_TotalPaid >= PersonsCashSearchForm.FixedSumm) { PayRequest request2 = ObjectWithId.FindById<PayRequest>(this.m_Request.Id); sum.GroupOperationId = request2.GroupOperId; sum.SpPaymentUno = transaction.Id; sum.UserId = User.CurrentUser.Id; sum.Summ = this.m_TotalPaid; sum.SaveChanges(); } DALSql.ExecuteNonQuery("commit transaction", null); payment = this.m_Request; this.m_Request = null; if (!Settings.Default.CashierQuestApplyPrintPayment || (System.Windows.Forms.DialogResult.Yes == System.Windows.Forms.MessageBox.Show(null, "ОПЛАТА ПРОВЕДЕНА УСПЕШНО. ПЕЧАТАТЬ КВИТАНЦИЮ?", "ПЕЧАТЬ КВИТАНЦИИ", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Exclamation, System.Windows.Forms.MessageBoxDefaultButton.Button1))) { flag = true; } if (!Settings.Default.CashierReturnMode) { this.m_posView.AddToAccumulatePaySum(payment.PaidSumm, payment.Commission); } else { this.m_posView.AddToAccumulatePaySum(-payment.PaidSumm, -payment.Commission); } } catch (System.Exception exception) { try { DALSql.ExecuteNonQuery("rollback transaction", null); } catch (System.Exception) { } throw new System.ApplicationException("Возникла ошибка при проведении платежа", exception); } finally { this.m_PaymentButton.set_Image(null); if (flag) { this.m_posView.Print(payment, payment, Settings.Default.CashierReturnMode); if (!Settings.Default.CashierReturnMode) { ReceiptReport.ShowDialog(this, payment); } } base.ParentForm.set_DialogResult(System.Windows.Forms.DialogResult.OK); } Label_0374:; } } }
public PayRequest Reverse(string terminal) { if (base.Id < 0L) { throw new System.ApplicationException("Ошибка! Дополнительный платеж должен быть отменен через POSView."); } if (!this.IsProcessed) { throw new System.ApplicationException("Платеж еще не проведен. Дождитесь проводки платежа."); } if (this.ReverseRequestId != 0L) { throw new System.ApplicationException("Платеж уже был возвращен. Повторный возврат невозможен."); } PayRequest request = new PayRequest { PaymentSystem = LocalPaymentSystem, Organization = Constants.OrgName, Terminal = terminal, Operator = User.CurrentUser.Name, AccountNumber = this.AccountNumber, Period = this.Period, AccountId = this.AccountId, AddressName = this.AddressName, OwnerName = this.OwnerName, PaidSumm = this.PaidSumm, AgentId = this.AgentId, AgentName = this.AgentName, PaymentOrderNumber = this.PaymentOrderNumber, PackNumber = this.PackNumber, PaymentOrderDate = this.PaymentOrderDate, Commission = this.Commission, RequestTypeFasetId = Mappers.FasetItemMapper.FindByName(FasetsEnum.PaymentOperationType, "Возврат оплаты наличными").Id, CashFlowTypeId = this.CashFlowTypeId }; request.SaveChanges(); request.IsConfirmed = true; request.ConfirmedAt = Register.GetDatabaseTime(); PayLocalTransaction transaction = new PayLocalTransaction { RequestId = request.Id }; transaction.SaveChanges(); request.ExternalTransactionId = ((long) transaction.Id).ToString(); request.ReverseRequestId = base.Id; request.UsePaymentDate = this.UsePaymentDate; request.SaveChanges(); this.ReverseRequestId = request.Id; this.SaveChanges(); request.ProcessPayment(); return request; }
public static System.Data.DataTable GetDataTableByIdFormSpScheme(PayRequest request) { return Mappers.PayRequestMapper.GetDataTableByIdFormSpScheme(-request.Id); }
public static System.Data.DataTable GetDataTableById(PayRequest request) { return Mappers.PayRequestMapper.GetDataTableById(request.Id); }
public void Reverse(PayRequest payment) { string cashierTerminal = Settings.Default.CashierTerminal; if (payment.Id < 0L) { if (payment.ReverseRequestId != 0L) { throw new System.ApplicationException("Платеж уже был возвращен. Повторный возврат невозможен."); } decimal paidSumm = payment.PaidSumm; decimal commission = payment.Commission; User currentUser = User.GetCurrentUser(); long id = 0L; if (!long.TryParse(payment.AccountId, ref id) || (id == 0L)) { throw new System.ApplicationException("Ошибка при возврате."); } this.m_Account = AccountOther.FindById(id); ObjectList<SpPayment> services = SpPayment.FindByUno(payment.ExternalTransactionId); PayLocalTransaction transaction = AccountOther.MakeReversePaymentTry(payment.ExternalTransactionId, currentUser.Id, cashierTerminal); AccountOther.MakeCommit(); this.AddToAccumulatePaySumWithoutQuestion(-paidSumm, -commission); this.PrintPayment(this.m_Account, services, ((long) transaction.Id).ToString(), true, paidSumm, commission, false, () => Messages.ShowMessage("Платеж успешно возвращен."), () => Messages.ShowMessage("Платеж успешно возвращен.")); } else { PayRequest request = payment.Reverse(cashierTerminal); this.AddToAccumulatePaySumWithoutQuestion(-request.PaidSumm, -payment.Commission); this.Print(request, payment, true); } }
public void Print(PayRequest payment, PayRequest paymentForServices, bool isCancelPayment) { if (this.IsUseFiscalDocument.Value) { AccountOther other; ObjectList<PayRequestAccountService> requestAccountServices = paymentForServices.GetRequestAccountServices(); ObjectList<SpPayment> services = new ObjectList<SpPayment>(); foreach (PayRequestAccountService service in requestAccountServices) { SpPayment payment2 = new SpPayment { ServiceName = service.Name, Summ = service.Paid }; services.Add(payment2); } ObjectList<AccountOther> infoOrgFromRequestAccountServices = AccountOther.GetInfoOrgFromRequestAccountServices(paymentForServices.Id); if ((infoOrgFromRequestAccountServices != null) && (infoOrgFromRequestAccountServices.get_Count() > 0)) { other = infoOrgFromRequestAccountServices.get_Item(0); } else { other = new AccountOther(); } this.PrintPayment(other, services, payment.ExternalTransactionId, isCancelPayment, payment.PaidSumm, paymentForServices.Commission, false, null, null); } }
public static Request ProcessReverseRequest(Request request) { request = Serializer.FromXml<Request>(System.IO.File.ReadAllText(@"D:\Projects\AIS.SN\AIS.SN.PaymentService\App_Data\5-PayRequest.xml")); Request request2 = new Request(); try { if (string.IsNullOrEmpty(request.Sender.PaymentSystem)) { return request2.SetStatus(StatusCode.НеНайденТэгPaymentSystem); } if (string.IsNullOrEmpty(request.Sender.Organization)) { return request2.SetStatus(StatusCode.НеНайденТэгOrganization); } if (string.IsNullOrEmpty(request.Sender.Operator) && string.IsNullOrEmpty(request.Sender.Terminal)) { return request2.SetStatus(StatusCode.НеНайденыТэгиOperatorИTerminal); } string reverseTransactionId = request.RequestParameters.ReverseTransactionId; if (string.IsNullOrEmpty(reverseTransactionId)) { return request2.SetStatus(StatusCode.НеНайденТэгReverseTransactionId); } string operationType = request.RequestParameters.OperationType; if (string.IsNullOrEmpty(operationType)) { return request2.SetStatus(StatusCode.НеНайденТэгOperationType); } PayRequest request3 = ObjectWithId.FindById<PayRequest>(request2.RequestParameters.RequestId); if (request3.ReverseRequestId != 0L) { return ((ObjectWithId.FindById<PayRequest>(request3.ReverseRequestId).ExternalTransactionId == reverseTransactionId) ? request2.SetStatus(StatusCode.ЗапросВыполненУспешно) : request2.SetStatus(StatusCode.ЗапросУжеПроведен)); } PayRequest request4 = new PayRequest { PaymentSystem = request.Sender.PaymentSystem, Organization = request.Sender.Organization, Office = request.Sender.Office, Terminal = request.Sender.Terminal, Operator = request.Sender.Operator, ServiceCode = request.Sender.ServiceCode, AccountNumber = request3.AccountNumber, Period = request3.Period, AccountId = request3.AccountId, PaidSumm = request3.PaidSumm, IsConfirmed = true, ConfirmedAt = Register.GetDatabaseTime() }; foreach (FasetItem item in Register.GetFasetItemList(FasetsEnum.PaymentOperationType)) { if (item.Name == operationType) { request4.RequestTypeFasetId = item.Id; } } request4.ExternalTransactionId = reverseTransactionId; request4.ReverseRequestId = request3.Id; request4.SaveChanges(); request3.ReverseRequestId = request4.Id; request3.SaveChanges(); request2.SetStatus(StatusCode.ЗапросВыполненУспешно); } catch (System.Exception exception) { request2 = new Request().SetStatus(StatusCode.НепредвиденнаяОшибка, exception); } return request2; }
public static Request ProcessCheckRequest(Request request) { Request request2 = new Request(); try { PayRequest request3; if (request.RequestParameters.RequestId == 0L) { if (string.IsNullOrEmpty(request.Sender.PaymentSystem)) { return request2.SetStatus(StatusCode.НеНайденТэгPaymentSystem); } if (string.IsNullOrEmpty(request.Sender.Organization)) { return request2.SetStatus(StatusCode.НеНайденТэгOrganization); } if (string.IsNullOrEmpty(request.Sender.Operator) && string.IsNullOrEmpty(request.Sender.Terminal)) { return request2.SetStatus(StatusCode.НеНайденыТэгиOperatorИTerminal); } request3 = new PayRequest { AccountNumber = request.RequestParameters.AccountNumber, Period = new System.DateTime(request.RequestParameters.PayPeriodYear, request.RequestParameters.PayPeriodMonth, 1), PaymentSystem = request.Sender.PaymentSystem, Organization = request.Sender.Organization, Office = request.Sender.Office, Terminal = request.Sender.Terminal, Operator = request.Sender.Operator, ServiceCode = request.Sender.ServiceCode }; request3.SaveChanges(); request3.ProcessRequest_Service(true); } else { request3 = ObjectWithId.FindById<PayRequest>(request.RequestParameters.RequestId); if (request3.IsConfirmed) { return request2.SetStatus(StatusCode.ЗапросУжеПроведен); } request3.Period = new System.DateTime(request.RequestParameters.PayPeriodYear, request.RequestParameters.PayPeriodMonth, 1); request3.PaidSumm = request.RequestParameters.PaidSumm; request3.SaveChanges(); foreach (PayRequestServicePayAmount amount in request3.GetRequestServicePayAmounts()) { amount.Delete(); } foreach (AIS.SN.Model.DomainObjects.PaymentService.Service service in request.Services) { new PayRequestServicePayAmount { RequestId = request3.Id, Code = service.Code, CounterIndication = service.NewCounter, Paid = service.Paid }.SaveChanges(); } request3.ProcessRequest_Service(false); } request3 = ObjectWithId.FindById<PayRequest>(request3.Id); request2 = new Request { ResponseParameters = { RequestId = request3.Id, OwnerName = request3.OwnerName, ApartmentType = request3.ApartmentType, ApartmentTotalSquare = request3.ApartmentTotalSquare, ResidentsCount = System.Convert.ToByte(request3.ResidentsCount), ResidentVacationsCount = System.Convert.ToByte(request3.ResidentVacationsCount), Benefits = new System.Collections.Generic.List<AIS.SN.Model.DomainObjects.PaymentService.Benefit>() } }; foreach (PayRequestBenefit benefit in request3.GetRequestBenefits()) { AIS.SN.Model.DomainObjects.PaymentService.Benefit benefit2 = new AIS.SN.Model.DomainObjects.PaymentService.Benefit { Name = benefit.BenefitName, Persons = benefit.PersonsCount }; request2.ResponseParameters.Benefits.Add(benefit2); } request2.ResponseParameters.CurrentChargeSumm = request3.CurrentChargeSumm; request2.ResponseParameters.CurrentBenefitSumm = request3.CurrentBenefitSumm; request2.ResponseParameters.CurrentRecalcSumm = request3.CurrentRecalcSumm; request2.ResponseParameters.TotalDebt = request3.TotalDebt; request2.ResponseParameters.TotalPenalty = request3.TotalPenalty; request2.ResponseParameters.Comments = request3.Comments; request2.ResponseParameters.AdditionalInfo = request3.AdditionalInfo; foreach (PayRequestService service2 in request3.GetRequestServices()) { AIS.SN.Model.DomainObjects.PaymentService.Service service3 = new AIS.SN.Model.DomainObjects.PaymentService.Service { Code = service2.Code, Name = service2.Name, Counter = service2.CounterIndication, NewCounter = service2.NewCounterIndication, Rate = service2.Rate, Charge = service2.ChargeSumm, Benefit = service2.BenefitSumm, Recalc = service2.RecalcSumm, CounterCharge = service2.DiffChargeSumm - service2.DiffBenefitSumm, FirstCounter = service2.FirstCounterIndication, Saldo = service2.Saldo, RateCounter = service2.RateCounter, Debt = service2.Debt, Paid = service2.Paid, DebtPenalty = service2.DebtPenalty, Penalty = service2.Penalty, IsClosed = System.Convert.ToBoolean(service2.IsClosed), IsFixed = System.Convert.ToBoolean(service2.IsFixed), IsCounter = System.Convert.ToBoolean(service2.IsCounter), Edk = service2.Edk }; request2.Services.Add(service3); } request2.SetStatus(StatusCode.ЗапросВыполненУспешно); } catch (System.Exception exception) { request2 = new Request().SetStatus(StatusCode.НепредвиденнаяОшибка, exception); } return request2; }