public IActionResult GetBudgetPaymentOrder(IdRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); bool hasPermission = true; var order = _xBService.GetBudgetPaymentOrder(request.Id); order.ReceiverAccount.AccountNumber = order.ReceiverBankCode + order.ReceiverAccount.AccountNumber; SingleResponse <BudgetPaymentOrder> response = new SingleResponse <BudgetPaymentOrder>(); response.ResultCode = ResultCodes.normal; if (authorizedCustomer.LimitedAccess != 0) { if (!_xBService.HasProductPermission(order.DebitAccount.AccountNumber) || (order.FeeAccount != null && order.FeeAccount.AccountNumber != "0" && !_xBService.HasProductPermission(order.FeeAccount.AccountNumber))) { hasPermission = false; response.ResultCode = ResultCodes.failed; response.Result.Description = "Տվյալները հասանելի չեն։"; } } if (hasPermission) { response.ResultCode = ResultCodes.normal; response.Result = order; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public async Task <SingleResponse <byte[]> > PrintTransfersAcbaStatement(long id, int lang, string exportFormat = "pdf") { SingleResponse <byte[]> response = new SingleResponse <byte[]>(); PaymentOrder paymentOrder = _xBService.GetPaymentOrder(id); switch (paymentOrder.Type) { case XBS.OrderType.Convertation: return(PrintExchangeOrderStatement(id, lang, paymentOrder, exportFormat).Result); } if (paymentOrder.Quality == OrderQuality.Completed) { string policeCode = ""; string description = paymentOrder.Description; long policeResponseDetailsId = 0; int regCode = 0; if (!String.IsNullOrEmpty(paymentOrder.CreditCode)) { description += ", " + paymentOrder.CreditCode + ", " + paymentOrder.Borrower + ", " + paymentOrder.MatureTypeDescription; } if (paymentOrder.Type == OrderType.RATransfer) { BudgetPaymentOrder budgetPaymentOrder = new BudgetPaymentOrder(); if (paymentOrder.SubType != 5 && paymentOrder.SubType != 6) //ՀՀ տարածքում / Հաշիվների միջև { paymentOrder = _xBService.GetPaymentOrder(id); } else //Բյուջե / Ճանապարհային Ոստիկանություն փոխանցում { budgetPaymentOrder = _xBService.GetBudgetPaymentOrder(id); paymentOrder = budgetPaymentOrder; policeCode = budgetPaymentOrder.PoliceCode == 0 ? "" : budgetPaymentOrder.PoliceCode.ToString(); policeResponseDetailsId = budgetPaymentOrder.PoliceResponseDetailsId; regCode = budgetPaymentOrder.LTACode; } } AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); Dictionary <string, string> parameters = new Dictionary <string, string>(); string sentTime = _xBService.GetInternationalTransferSentTime((int)id); parameters.Add(key: "cred_acc", value: paymentOrder.ReceiverAccount.AccountNumber + policeCode); parameters.Add(key: "deb_acc", value: paymentOrder.DebitAccount.AccountNumber.ToString()); parameters.Add(key: "deb_bank", value: paymentOrder.DebitAccount.AccountNumber.Substring(0, 5).ToString()); parameters.Add(key: "reg_date", value: paymentOrder.OperationDate.Value.ToString("dd/MMM/yyyy")); parameters.Add(key: "lang_id", value: lang.ToString()); parameters.Add(key: "credit_bank", value: paymentOrder.ReceiverAccount.AccountNumber.Substring(0, 5)); parameters.Add(key: "amount", value: paymentOrder.Amount.ToString()); parameters.Add(key: "currency", value: paymentOrder.Currency.ToString()); parameters.Add(key: "descr", value: description); parameters.Add(key: "confirm_date", value: paymentOrder.ConfirmationDate.Value.ToString("dd/MMM/yyyy")); parameters.Add(key: "for_HB", value: "1"); parameters.Add(key: "doc_id", value: id.ToString()); parameters.Add(key: "document_number", value: paymentOrder.OrderNumber.ToString()); parameters.Add(key: "reciever", value: paymentOrder.Receiver != null ? paymentOrder.Receiver : ""); if (paymentOrder.CreditorDescription != null) { description += ", " + paymentOrder.CreditorDescription; parameters.Add(key: "debtor_Name", value: paymentOrder.CreditorDescription); } if (paymentOrder.CreditorDocumentNumber != null) { if (paymentOrder.CreditorDocumentType == 1) { description += ", ՀԾՀ " + paymentOrder.CreditorDocumentNumber; parameters.Add(key: "debtor_soccard", value: paymentOrder.CreditorDocumentNumber); } else if (paymentOrder.CreditorDocumentType == 2) { description += ", Պարտատիրոջ ՀԾՀ չստանալու մասին տեղեկանքի համար " + paymentOrder.CreditorDocumentNumber; parameters.Add(key: "debtor_soccard", value: paymentOrder.CreditorDocumentNumber); } else if (paymentOrder.CreditorDocumentType == 3) { description += ", Անձնագիր " + paymentOrder.CreditorDocumentNumber; } else if (paymentOrder.CreditorDocumentType == 4) { description += ", ՀՎՀՀ " + paymentOrder.CreditorDocumentNumber; parameters.Add(key: "debtor_code_of_tax", value: paymentOrder.CreditorDocumentNumber); } } if (paymentOrder.CreditorDeathDocument != null) { description += ", Մահվան վկայական " + paymentOrder.CreditorDeathDocument; } if (paymentOrder.Fees != null) { if (paymentOrder.Fees.Exists(m => m.Type == 20 || m.Type == 5)) { double transferFee = paymentOrder.Fees.Find(m => m.Type == 20 || m.Type == 5).Amount; parameters.Add(key: "commission", value: transferFee.ToString()); } } parameters.Add(key: "TransactionTime", value: sentTime); parameters.Add(key: "print_soc_card", value: customerData.CustomerType == 6 ? "True" : "False"); parameters.Add(key: "is_copy", value: "False"); parameters.Add(key: "reciever_tax_code", value: ""); parameters.Add(key: "reg_code", value: regCode.ToString()); parameters.Add(key: "cust_name", value: customerData.CustomerDescription); if (customerData.CustomerType != 6) { parameters.Add(key: "tax_code", value: customerData.TaxCode); } parameters.Add(key: "quality", value: ((short)paymentOrder.Quality).ToString()); parameters.Add(key: "police_code", value: policeResponseDetailsId.ToString()); response.Result = await _reportService.RenderReport($"/{_reportName}/Payment_order", parameters, ReportService.GetExportFormatEnumeration(exportFormat), "Payment_order"); } else { paymentOrder.Description = "Հայտը կատարված չէ։"; } response.ResultCode = ResultCodes.normal; return(response); }