public Task <ReceiptHeader> SaveAsync(ReceiptHeader header, CancellationToken token = default(CancellationToken)) { var query = @" INSERT INTO ReceiptHeader ( CompanyId , FileType , CurrencyId , ImportFileLogId , AssignmentFlag , ImportCount , ImportAmount , CreateBy , CreateAt , UpdateBy , UpdateAt ) OUTPUT inserted.* VALUES ( @CompanyId , @FileType , @CurrencyId , @ImportFileLogId , @AssignmentFlag , @ImportCount , @ImportAmount , @CreateBy , GETDATE() , @UpdateBy , GETDATE() )"; return(dbHelper.ExecuteAsync <ReceiptHeader>(query, header, token)); }
public int Create(ReceiptHeader t) { int result = 0; try { //Initiate the instance of DBContext using BillingContext context = new BillingContext(); //check specific record for same receipt no is exist or not var receipt = context.ReceiptHeaders.FirstOrDefault(c => c.ReceiptNo == t.ReceiptNo); if (receipt == null) { //adding receipt header object to context context.Add(t); //save changes return(result = context.SaveChanges()); } else { return(Update(t)); } } catch (Exception ex) { Exc.ErMessage(ex); return(result = 0); } }
// End of UI Update and refresh Section //Print Invoice Section private void InitPrintInvoice( ) { //TODO: Print Invoice vReciptHeader = new ReceiptHeader(); vReciptFooter = new ReceiptFooter(); vReciptDetails = new ReceiptDetails(); vReciptItems = new List <ReceiptItemDetails>(); vReciptItemTotal = new ReceiptItemTotal(); CurrentSize = MinimumSize; }
public void SetHeaderSetting(ReceiptHeader result, string category) { lblBankInfo.Text = result.BankName; lblBranchInfo.Text = result.BranchName; lblBankAccountType.Text = result.AccountTypeName; lblAccountNo.Text = result.AccountNumber; lblCreateAt.Text = result.CreateAt.ToString(); lblCategory.Text = category; }
public string RePrintManaulInvoice(eStoreDbContext db, RegularInvoice invoice, int StoreId = 1) { ReceiptHeader header = PrinterHelper.GetReceiptHeader(db, StoreId); ReceiptDetails details = PrinterHelper.GetReceiptDetails(invoice.InvoiceNo, invoice.OnDate, DateTime.Now.ToShortTimeString(), invoice.Customer.FullName); ReceiptItemTotal itemtotal = PrinterHelper.GetReceiptItemTotal(invoice); List <ReceiptItemDetails> itemDetailList = PrinterHelper.GetInvoiceDetails(db, invoice.SaleItems.ToList()); return(InvoicePrinter.PrintManaulInvoice(header, itemtotal, details, itemDetailList, true)); }
public IHttpActionResult ThemPhieuThuChi(PhieuChiThu c) { if (c.DanhSachChiTietPhieuThu.Count > 0) { ReceiptHeader rh = new ReceiptHeader(); rh.Code = c.Code; rh.Description = c.DescriptionReceiptHeader; rh.RowIDEmployeeCreated = c.RowIDEmployeeCreated; rh.RowIDBuilding = c.RowIDBuilding; rh.Type = c.Type; rh.CreatedDate = DateTime.Now; db.ReceiptHeaders.Add(rh); int affectedRows = db.SaveChanges(); if (affectedRows > 0) { int RowIDReceiptHeader = rh.RowID; foreach (var item in c.DanhSachChiTietPhieuThu) { ReceiptLine rl = new ReceiptLine(); rl.RowIDContract = item.RowIDContract; rl.RowIDReceiptHeader = RowIDReceiptHeader; rl.RowIDEmployeeCreated = item.RowIDEmployeeCreated; rl.Times = item.Times; rl.Description = item.Description; rl.TotalPrice = item.TotalPrice; rl.CreatedDate = DateTime.Now; db.ReceiptLines.Add(rl); } db.SaveChanges(); return(Ok("Thêm thành công !")); } else { return(BadRequest("Thêm ReceipHeader không thành công !")); } } else { return(BadRequest("Không có chi tiết phiếu bên trong một tờ phiếu !")); } }
/// <summary> /// Refresh the header /// </summary> /// <param name="model">model</param> /// <returns>Refreshed header model</returns> public virtual JsonNetResult Refresh(ReceiptHeader model) { try { return(JsonNet(ControllerInternal.Refresh(model))); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.GetFailedMessage, businessException, ReceiptHeaderResx.Receipt))); } }
public virtual JsonNetResult Post(ReceiptHeader headerModel, long sequenceNumber, bool yesNo) { try { return(JsonNet(ControllerInternal.Post(headerModel, sequenceNumber, yesNo))); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.PostingFailedMessage, businessException, ReceiptHeaderResx.Receipt))); } }
/// <summary> /// Find whether Receipt record with Receipt Number passed exists /// </summary> /// <param name="id">Receipt Number</param> /// <param name="model">A model to save the current data</param> /// <returns>Returns a JsonNetResult object</returns> public virtual JsonNetResult Exists(string id, ReceiptHeader model) { try { return(JsonNet(ControllerInternal.Exists(id, model))); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.GetFailedMessage, businessException, ReceiptHeaderResx.ReceiptNumber))); } }
public virtual JsonNetResult GetHeaderValues(ReceiptHeader model, int eventType) { try { return(JsonNet(ControllerInternal.GetHeaderValues(model, eventType))); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.GetFailedMessage, businessException, ReceiptHeaderResx.Receipts))); } }
// GET api/Receipt/5 public ReceiptHeader GetReceiptHeader(Guid id) { ReceiptHeader receiptheader = db.ReceiptHeaders.Find(id); if (receiptheader == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(receiptheader); }
public virtual JsonNetResult CreateDetail(ReceiptHeader model, int index, int pageSize, int pageNumber) { try { return(JsonNet(ControllerInternal.CreateDetail(model, index, pageSize, pageNumber))); } catch (BusinessException businessException) { return (JsonNet(BuildErrorModelBase(CommonResx.AddFailedMessage, businessException, "Receipt Number"))); } }
public virtual JsonNetResult DeleteDetails(ReceiptHeader model, int pageNumber, int pageSize) { try { return(JsonNet(ControllerInternal.DeleteDetails(model, pageNumber, pageSize))); } catch (BusinessException businessException) { return (JsonNet(BuildErrorModelBase(CommonResx.DeleteFailedMessage, businessException, ReceiptHeaderResx.Receipts))); } }
/// <summary> /// Return RecieptHeader based on StoreId /// </summary> /// <param name="db"></param> /// <param name="Storeid"></param> /// <returns></returns> public static ReceiptHeader GetReceiptHeader(eStoreDbContext db, int Storeid) { var store = db.Stores.Find(Storeid); ReceiptHeader header = new ReceiptHeader { StoreName = store.StoreName, StoreAddress = store.Address, StoreCity = store.City, StoreGST = store.GSTNO, StorePhoneNo = store.PhoneNo }; return(header); }
public int Update(ReceiptHeader t) { int result = 0; try { using BillingContext context = new BillingContext(); context.Update(t); return(result = context.SaveChanges()); } catch (Exception ex) { Exc.ErMessage(ex); return(result); } }
public IHttpActionResult DanhSachPhieuThuTheoCongTrinh(ReceiptHeader c) { var listOfReceiptHeaderAndLine = db.ReceiptHeaders.Where(w => w.RowIDBuilding == c.RowIDBuilding && w.Type == c.Type).ToList().Select(s => new { s.RowID, s.Code, s.Description, s.CreatedDate, TotalAllPrice = s.ReceiptLines.Sum(su => su.TotalPrice) //ListOfReceipLine = s.ReceiptLines.Select(s2 => new { s2.RowID, s2.Description, s2.RowIDContract }).ToList() }).OrderByDescending(o => o.RowID).ToList(); return(Ok(listOfReceiptHeaderAndLine)); }
public virtual JsonNetResult SaveDetails(ReceiptHeader model) { var response = new ViewModelBase <ReceiptHeader> { UserMessage = new UserMessage { IsSuccess = true } }; try { return(JsonNet(ControllerInternal.SaveDetails(model))); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.RefreshDetailsFailedMessage, businessException, "Receipt Detail"))); } }
/// <summary> /// Read Header Model /// </summary> /// <param name="model"></param> /// <param name="setHeaderValue"></param> /// <returns></returns> public virtual JsonNetResult ReadHeader(ReceiptHeader model, bool setHeaderValue) { var response = new ViewModelBase <ReceiptHeader> { UserMessage = new UserMessage { IsSuccess = true } }; try { response.Data = ControllerInternal.ReadHeader(model, setHeaderValue); return(JsonNet(response)); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(businessException))); } }
public virtual JsonNetResult SaveDetail(ReceiptDetail detail) { try { return(JsonNet(ControllerInternal.SaveDetail(detail))); } catch (BusinessException businessException) { var receiptHeader = new ReceiptHeader { ReceiptDetail = new EnumerableResponse <ReceiptDetail> { Items = new List <ReceiptDetail> { detail } } }; return(JsonNet(BuildErrorModelBase(receiptHeader, CommonResx.RefreshDetailsFailedMessage, businessException, "ReceiptView"))); } }
public virtual JsonNetResult Save(ReceiptHeader model) { ViewModelBase <ReceiptViewModel> viewModel; if (!ValidateModelState(ModelState, out viewModel)) { return(JsonNet(viewModel)); } try { var receiptUpdated = ControllerInternal.Save(model); return(JsonNet(receiptUpdated)); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.SaveFailedMessage, businessException))); } }
// POST api/Receipt public HttpResponseMessage PostReceiptHeader(ReceiptHeader receiptheader) { if (ModelState.IsValid) { if (receiptheader.Id == Guid.Empty) { receiptheader.Id = Guid.NewGuid(); } db.ReceiptHeaders.Add(receiptheader); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, receiptheader); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = receiptheader.Id })); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
public IHttpActionResult DanhSachChiTietPhieuTheoRowIDReceiptHeader(ReceiptHeader c) { var listOfReceiptHeaderAndLine = db.ReceiptLines.Where(w => w.ReceiptHeader.RowIDBuilding == c.RowIDBuilding && w.ReceiptHeader.Type == c.Type && w.IsDeleted == false).Select(s => new { s.ReceiptHeader.Code, DescriptionReceiptHeader = s.ReceiptHeader.Description, s.RowID, s.Description, s.Times, s.TotalPrice, s.CreatedDate, s.Category, s.Item, s.Unit, s.Supplier, ContractCode = (s.Contract != null ? s.Contract.ContractCode : ""), RowIDContract = (s.Contract != null ? s.Contract.RowID : -1) }).OrderByDescending(o => o.RowID).ToList(); return(Ok(listOfReceiptHeaderAndLine)); }
// PUT api/Receipt/5 public HttpResponseMessage PutReceiptHeader(Guid id, ReceiptHeader receiptheader) { if (ModelState.IsValid && id == receiptheader.Id) { db.Entry(receiptheader).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
// DELETE api/Receipt/5 public HttpResponseMessage DeleteReceiptHeader(Guid id) { ReceiptHeader receiptheader = db.ReceiptHeaders.Find(id); if (receiptheader == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } db.ReceiptHeaders.Remove(receiptheader); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK, receiptheader)); }
public async Task <Tuple <ImportFileLog, ImportResult> > ParseAsync(IEnumerable <string[]> records, CancellationToken token = default(CancellationToken)) { var fileLog = new ImportFileLog { Id = FileInformation.Index, CompanyId = Helper.CompanyId, FileName = FileInformation.Path, FileSize = FileInformation.Size, CreateBy = Helper.LoginUserId, }; var parseResult = ImportResult.Success; ReceiptHeader header = null; var receiptCategoryId = 0; var parseSkipping = false; DateTime workDay = new DateTime(0); BankAccount account = null; var ebExcludeAccountList = Helper.IsAsync ? await Helper.GetEBExcludeAccountSettingListAsync(token) : Helper.GetEBExcludeAccountSettingList(); if (ebExcludeAccountList == null) { return(Tuple.Create(fileLog, ImportResult.FileReadError)); // UNDONE: ひとまず FileReadError を返す } foreach (var fields in records) { if (fields.Length < 1) { parseResult = ImportResult.FileFormatError; break; } var datakubun = fields[0]; if (datakubun == Constants.DataKubun.Header) { account = null; if (fields.Length < 13) { parseResult = ImportResult.FileFormatError; break; } var sakuseibi = fields[3]; var bankCode = fields[6]; var bankName = fields[7]; var branchCode = fields[8]; var branchName = fields[9]; var yokinsyumoku = fields[10]; var accountNumber = fields[11]; var accountName = fields[12]; if (!Helper.ValidateBankCode(ref bankCode) || !Helper.ValidateBranchCode(ref branchCode) || !Helper.ValidateAccountNumber(ref accountNumber)) { parseResult = ImportResult.BankAccountFormatError; break; } bankName = Helper.ConvertToValidEbCharacter(bankName).Left(30); branchName = Helper.ConvertToValidEbCharacter(branchName).Left(30); accountName = Helper.ConvertToValidEbCharacter(accountName).Left(30); var accountTypeId = 0; if (!int.TryParse(yokinsyumoku, out accountTypeId) || !(Constants.ImportableAccountTypeIds.Contains(accountTypeId))) { parseResult = ImportResult.BankAccountFormatError; break; } if (!Helper.TryParseJpDateTime(sakuseibi, out workDay)) { parseResult = ImportResult.FileFormatError; break; } account = Helper.IsAsync ? await Helper.GetBankAccountAsync(bankCode, branchCode, accountTypeId, accountNumber, token) : Helper.GetBankAccount(bankCode, branchCode, accountTypeId, accountNumber); var defaultReceiptCategroyId = Helper.DefaultReceiptCategory?.Id; if (account != null && !account.ReceiptCategoryId.HasValue || !defaultReceiptCategroyId.HasValue) { parseResult = ImportResult.FileReadError; break; } receiptCategoryId = (account != null && account.ReceiptCategoryId.HasValue) ? account.ReceiptCategoryId.Value : defaultReceiptCategroyId.Value; if (account?.ImportSkipping == 1) { parseSkipping = true; header = null; continue; } header = new ReceiptHeader(); fileLog.ReceiptHeaders.Add(header); header.Id = fileLog.ReceiptHeaders.Count; header.CompanyId = Helper.CompanyId; header.CurrencyId = Helper.DefaultCurrency.Id; header.ImportFileLogId = fileLog.Id; /* 採番後に置き換え */ header.Workday = workDay; header.BankCode = bankCode; header.BankName = bankName; header.BranchCode = branchCode; header.BranchName = branchName; header.AccountTypeId = accountTypeId; header.AccountNumber = accountNumber; header.AccountName = accountName; header.CreateBy = Helper.LoginUserId; header.UpdateBy = Helper.LoginUserId; } if (datakubun == Constants.DataKubun.Data) { if (fields.Length < 12) { parseResult = ImportResult.FileFormatError; break; } if (parseSkipping) { continue; } fileLog.ReadCount++; var kanjyoubi = fields[2]; var kisanbi = fields[3]; var kingaku1 = fields[4]; var payerCode = fields[6]; var payerName = fields[7]; var sourceBankName = fields[8]; var sourceBranchName = fields[9]; var torikeshikubun = fields[10]; var kingaku2 = fields[11]; if (torikeshikubun == "1") { continue; } DateTime recordedAt; if (!Helper.TryParseJpDateTime(FileInformation.UseValueDate ? kisanbi : kanjyoubi, out recordedAt)) { parseResult = ImportResult.FileFormatError; break; } decimal receiptAmount; if ((!decimal.TryParse(kingaku1, out receiptAmount) || receiptAmount == 0M && !decimal.TryParse(kingaku2, out receiptAmount) || receiptAmount == 0M) || Constants.MaxAmount < Math.Abs(receiptAmount)) { parseResult = ImportResult.FileFormatError; break; } if (!Helper.ValidatePayerCode(ref payerCode)) { parseResult = ImportResult.PayerCodeFormatError; break; } if (ebExcludeAccountList // EBデータ取込対象外口座設定 .Any(x => x.BankCode == header.BankCode && x.BranchCode == header.BranchCode && x.AccountTypeId == header.AccountTypeId && x.PayerCode == payerCode )) { continue; } payerName = Helper.ConvertToValidEbCharacter(payerName).Left(140); sourceBankName = Helper.ConvertToValidEbCharacter(sourceBankName).Left(140); sourceBranchName = Helper.ConvertToValidEbCharacter(sourceBranchName).Left(15); if (!Helper.IsValidEBChars(payerName)) { parseResult = ImportResult.FileFormatError; break; } int?customerId = Helper.IsAsync ? await Helper.GetCustomerIdByExclusiveInfoAsync(header.BankCode, header.BranchCode, payerCode, token) : Helper.GetCustomerIdByExclusiveInfo(header.BankCode, header.BranchCode, payerCode); int?sectionId = (Helper.IsAsync ? await Helper.GetSectionIdByPayerCodeAsync(payerCode, token) : Helper.GetSectionIdByPayerCode(payerCode)) ?? account?.SectionId; int?excludeCategoryId = Helper.UseApportion ? null : Helper.IsAsync ? await Helper.GetExcludeCategoryIdAsync(payerName, token) : Helper.GetExcludeCategoryId(payerName); var receipt = new Receipt(); header.Receipts.Add(receipt); receipt.Id = header.Receipts.Count(); /* 自動採番 */ receipt.CompanyId = Helper.CompanyId; receipt.CurrencyId = Helper.DefaultCurrency.Id; receipt.ReceiptHeaderId = header.Id; /* 自動採番後に置き換え */ receipt.ReceiptCategoryId = receiptCategoryId; receipt.CustomerId = customerId; receipt.SectionId = sectionId; receipt.InputType = Constants.InputTypeEbImporter; receipt.Apportioned = Helper.UseApportion ? 0 : 1; receipt.Approved = 1; receipt.Workday = workDay; receipt.RecordedAt = recordedAt; receipt.ReceiptAmount = receiptAmount; receipt.RemainAmount = receiptAmount; receipt.PayerCode = payerCode; receipt.PayerName = Helper.RemoveLegalPersonality(payerName); receipt.PayerNameRaw = payerName; receipt.SourceBankName = sourceBankName; receipt.SourceBranchName = sourceBranchName; receipt.ExcludeFlag = excludeCategoryId.HasValue ? 1 : 0; receipt.ExcludeCategoryId = excludeCategoryId; if (excludeCategoryId.HasValue) { receipt.ExcludeAmount = receiptAmount; receipt.RemainAmount = 0M; receipt.AssignmentFlag = 2; var receiptExclude = new ReceiptExclude(); receiptExclude.Id = receipt.Id; receiptExclude.ReceiptId = receipt.Id; receiptExclude.ExcludeCategoryId = excludeCategoryId.Value; receiptExclude.ExcludeAmount = receiptAmount; receiptExclude.CreateBy = Helper.LoginUserId; receiptExclude.UpdateBy = Helper.LoginUserId; header.ReceiptExcludes.Add(receiptExclude); } receipt.CreateBy = Helper.LoginUserId; receipt.UpdateBy = Helper.LoginUserId; header.ImportCount++; header.ImportAmount += receiptAmount; fileLog.ImportCount++; fileLog.ImportAmount += receiptAmount; } if (datakubun == Constants.DataKubun.Trailer) { } if (datakubun == Constants.DataKubun.End) { } } if (parseResult == ImportResult.Success && fileLog?.ImportCount == 0) { parseResult = ImportResult.ImportDataNotFound; } return(Tuple.Create(fileLog, parseResult)); }
public async Task <Tuple <ImportFileLog, ImportResult> > ParseAsync(IEnumerable <string[]> fields, CancellationToken token = default(CancellationToken)) { var fileLog = new ImportFileLog { Id = FileInformation.Index, CompanyId = Helper.CompanyId, FileName = FileInformation.Path, FileSize = FileInformation.Size, CreateBy = Helper.LoginUserId, }; var parseResult = ImportResult.Success; ReceiptHeader header = null; var receiptCategoryId = 0; var parseSkipping = false; DateTime workDay = new DateTime(0); BankAccount account = null; var ebExcludeAccountList = Helper.IsAsync ? await Helper.GetEBExcludeAccountSettingListAsync(token) : Helper.GetEBExcludeAccountSettingList(); if (ebExcludeAccountList == null) { return(Tuple.Create(fileLog, ImportResult.FileReadError)); // UNDONE: ひとまず FileReadError を返す } foreach (var field in fields) { if (field.Length < 1) { parseResult = ImportResult.FileFormatError; break; } var datakubun = field[0]; if (datakubun == Constants.DataKubun.Header) { account = null; if (field.Length < 11) { parseResult = ImportResult.FileFormatError; break; } var bankCode = BankCode; var branchCode = field[1]; var bankName = string.Empty; var branchName = field[2]; var kamokucode = field[3]; var accountNumber = field[6]; var accountName = field[7]; var sousabi = field[10]; var accountTypeId = 0; if (!int.TryParse(kamokucode, out accountTypeId) || !Constants.ImportableAccountTypeIds.Contains(accountTypeId) || !Helper.ValidateBranchCode(ref branchCode) || !Helper.ValidateAccountNumber(ref accountNumber)) { parseResult = ImportResult.BankAccountFormatError; break; } if (!Helper.TryParseDateTime(sousabi, out workDay)) { parseResult = ImportResult.FileFormatError; break; } branchCode = Helper.ConvertToValidEbCharacter(branchCode).Right(3, '0', true); accountNumber = Helper.ConvertToValidEbCharacter(accountNumber).Right(7, '0', true); account = Helper.IsAsync ? await Helper.GetBankAccountAsync(bankCode, branchCode, accountTypeId, accountNumber, token) : Helper.GetBankAccount(bankCode, branchCode, accountTypeId, accountNumber); if (account == null || !account.ReceiptCategoryId.HasValue) { parseResult = ImportResult.BankAccountMasterError; FileInformation.BankInformation = $"銀行コード:{bankCode}, 支店コード:{branchCode}, 預金種別:{Helper.GetAccountTypeNameById(accountTypeId)}, 口座番号:{accountNumber}"; break; } receiptCategoryId = account.ReceiptCategoryId.Value; if (account.ImportSkipping == 1) { parseSkipping = true; header = null; continue; } bankName = Helper.ConvertToValidEbCharacter(account.BankName).Left(30); branchName = Helper.ConvertToValidEbCharacter(branchName).Left(30); accountName = Helper.ConvertToValidEbCharacter(accountName).Left(30); header = new ReceiptHeader(); fileLog.ReceiptHeaders.Add(header); header.Id = fileLog.ReceiptHeaders.Count; header.CompanyId = Helper.CompanyId; header.CurrencyId = Helper.DefaultCurrency.Id; header.ImportFileLogId = fileLog.Id; /* 採番後に置き換え */ header.Workday = workDay; header.BankCode = bankCode; header.BankName = bankName; header.BranchCode = branchCode; header.BranchName = branchName; header.AccountTypeId = accountTypeId; header.AccountNumber = accountNumber; header.AccountName = accountName; header.CreateBy = Helper.LoginUserId; header.UpdateBy = Helper.LoginUserId; } if (datakubun == Constants.DataKubun.Data) { fileLog.ReadCount++; if (parseSkipping) { continue; } if (field.Length < 10) { parseResult = ImportResult.FileFormatError; break; } var torihikibi = field[1]; var shiteibi = field[2]; var payerName = field[4]; var sourceBankName = field[5]; var sourceBranchName = field[6]; var payerCode = field[7]; var kingaku = field[9 - Offset]; var symd = FileInformation.UseValueDate ? shiteibi : torihikibi; if (string.IsNullOrEmpty(symd)) { symd = torihikibi; } DateTime recordedAt; if (!Helper.TryParseDateTime(symd, out recordedAt)) { parseResult = ImportResult.FileFormatError; break; } decimal receiptAmount; if (!decimal.TryParse(kingaku, out receiptAmount) || receiptAmount == 0M || Constants.MaxAmount < Math.Abs(receiptAmount)) { parseResult = ImportResult.FileFormatError; break; } if (!Helper.ValidatePayerCode(ref payerCode)) { parseResult = ImportResult.PayerCodeFormatError; break; } if (ebExcludeAccountList // EBデータ取込対象外口座設定 .Any(setting => { return(header.BankCode == setting.BankCode && header.BranchCode == setting.BranchCode && header.AccountTypeId == setting.AccountTypeId && payerCode == setting.PayerCode); })) { continue; } payerName = Helper.ConvertToValidEbCharacter(payerName).Left(140); sourceBankName = Helper.ConvertToValidEbCharacter(sourceBankName).Left(140); sourceBranchName = Helper.ConvertToValidEbCharacter(sourceBranchName).Left(15); if (!Helper.IsValidEBChars(payerName)) { parseResult = ImportResult.FileFormatError; break; } int?customerId = Helper.IsAsync ? await Helper.GetCustomerIdByExclusiveInfoAsync(header.BankCode, header.BranchCode, payerCode, token) : Helper.GetCustomerIdByExclusiveInfo(header.BankCode, header.BranchCode, payerCode); int?sectionId = (Helper.IsAsync ? await Helper.GetSectionIdByPayerCodeAsync(payerCode, token) : Helper.GetSectionIdByPayerCode(payerCode)) ?? account?.SectionId; int?excludeCategoryId = Helper.UseApportion ? null : Helper.IsAsync ? await Helper.GetExcludeCategoryIdAsync(payerName, token) : Helper.GetExcludeCategoryId(payerName); var receipt = new Receipt(); header.Receipts.Add(receipt); receipt.Id = header.Receipts.Count(); /* 自動採番 */ receipt.CompanyId = Helper.CompanyId; receipt.CurrencyId = Helper.DefaultCurrency.Id; receipt.ReceiptHeaderId = header.Id; /* 自動採番後に置き換え */ receipt.ReceiptCategoryId = receiptCategoryId; receipt.CustomerId = customerId; receipt.SectionId = sectionId; receipt.InputType = Constants.InputTypeEbImporter; receipt.Apportioned = Helper.UseApportion ? 0 : 1; receipt.Approved = 1; receipt.Workday = workDay; receipt.RecordedAt = recordedAt; receipt.ReceiptAmount = receiptAmount; receipt.RemainAmount = receiptAmount; receipt.PayerCode = payerCode; receipt.PayerName = Helper.RemoveLegalPersonality(payerName); receipt.PayerNameRaw = payerName; receipt.SourceBankName = sourceBankName; receipt.SourceBranchName = sourceBranchName; receipt.ExcludeFlag = excludeCategoryId.HasValue ? 1 : 0; receipt.ExcludeCategoryId = excludeCategoryId; if (excludeCategoryId.HasValue) { receipt.ExcludeAmount = receiptAmount; receipt.RemainAmount = 0M; receipt.AssignmentFlag = 2; var receiptExclude = new ReceiptExclude(); receiptExclude.Id = receipt.Id; receiptExclude.ReceiptId = receipt.Id; receiptExclude.ExcludeCategoryId = excludeCategoryId.Value; receiptExclude.ExcludeAmount = receiptAmount; receiptExclude.CreateBy = Helper.LoginUserId; receiptExclude.UpdateBy = Helper.LoginUserId; header.ReceiptExcludes.Add(receiptExclude); } receipt.CreateBy = Helper.LoginUserId; receipt.UpdateBy = Helper.LoginUserId; header.ImportCount++; header.ImportAmount += receiptAmount; fileLog.ImportCount++; fileLog.ImportAmount += receiptAmount; } if (datakubun == Constants.DataKubun.Trailer) { } if (datakubun == Constants.DataKubun.End) { } } if (parseResult == ImportResult.Success && fileLog?.ImportCount == 0) { parseResult = ImportResult.ImportDataNotFound; } return(Tuple.Create(fileLog, parseResult)); }
public static string PrintManaulInvoice(ReceiptHeader header, ReceiptItemTotal itemTotals, ReceiptDetails details, List <ReceiptItemDetails> itemDetail, bool isRePrint = true) { try { string fName = "MInvoiceNo_" + details.BillNo.Substring(9) + ".pdf"; string fileName = Path.Combine("wwwroot", fName); using PdfWriter pdfWriter = new PdfWriter(fileName); using PdfDocument pdf = new PdfDocument(pdfWriter); Document pdfDoc = new Document(pdf, new PageSize(240, 1170)); pdfDoc.SetMargins(10, 5, 10, 5); Style code = new Style(); PdfFont timesRoman = PdfFontFactory.CreateFont(iText.IO.Font.Constants.StandardFonts.TIMES_ROMAN); code.SetFont(timesRoman).SetFontSize(12); //Header Paragraph p = new Paragraph(header.StoreName + "\n").SetFontSize(12); p.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER); p.Add(header.StoreAddress + "\n"); p.Add(header.StoreCity + "\n"); p.Add("Ph No: " + header.StorePhoneNo + "\n"); p.Add(header.StoreGST + "\n"); pdfDoc.Add(p); //Details Paragraph ip = new Paragraph().SetFontSize(12); ip.Add(PrintInvoiceLine.DotedLine); ip.AddTabStops(new TabStop(50)); ip.Add(" " + PrintInvoiceLine.InvoiceTitle + "\n"); ip.Add(PrintInvoiceLine.DotedLine); ip.Add(ReceiptDetails.Employee + "\n"); ip.Add(details.BillNo + "\n"); ip.AddTabStops(new TabStop(30)); ip.Add(" " + details.BillDate + "\n"); ip.AddTabStops(new TabStop(30)); ip.Add(" " + details.BillTime + "\n"); ip.Add(details.CustomerName + "\n"); ip.Add(PrintInvoiceLine.DotedLine); ip.Add(PrintInvoiceLine.ItemLineHeader1 + "\n"); ip.Add(PrintInvoiceLine.ItemLineHeader2 + "\n"); ip.Add(PrintInvoiceLine.DotedLine); double gstPrice = 0.00; double basicPrice = 0.00; string tab = " "; foreach (ReceiptItemDetails itemDetails in itemDetail) { if (itemDetails != null) { ip.Add(itemDetails.SKUDescription + itemDetails.HSN + "/\n"); ip.Add(itemDetails.MRP + tab + tab); ip.Add(itemDetails.QTY + tab + tab + itemDetails.Discount + tab + tab + itemDetails.Amount); //ip.Add(itemDetails.GSTPercentage + "%" + tab + tab + itemDetails.GSTAmount + tab + tab); //ip.Add(itemDetails.GSTPercentage + "%" + tab + tab + itemDetails.GSTAmount + "\n"); gstPrice += Double.Parse(itemDetails.GSTAmount); basicPrice += Double.Parse(itemDetails.BasicPrice); } } ip.Add("\n" + PrintInvoiceLine.DotedLine); ip.Add("Total: " + itemTotals.TotalItem + tab + tab + tab + tab + tab + itemTotals.NetAmount + "\n"); ip.Add("item(s): " + itemTotals.ItemCount + tab + "Net Amount:" + tab + itemTotals.NetAmount + "\n"); ip.Add(PrintInvoiceLine.DotedLine); ip.Add("Tender(s)\n Paid Amount:\t\t Rs. " + itemTotals.CashAmount); //TODO: cash/Card option can be changed here // ip.Add("\n" + PrintInvoiceLine.DotedLine); //ip.Add("Basic Price:\t\t" + basicPrice.ToString("0.##")); //ip.Add("\nCGST:\t\t" + gstPrice.ToString("0.##")); //ip.Add("\nSGST:\t\t" + gstPrice.ToString("0.##") + "\n"); //ip.Add (PrintLine.DotedLine); pdfDoc.Add(ip); //Footer Paragraph foot = new Paragraph().SetFontSize(12); //foot.SetTextAlignment(iText.Layout.Properties.TextAlignment.CENTER); foot.Add(PrintInvoiceLine.FooterFirstMessage + "\n"); foot.Add(PrintInvoiceLine.DotedLine); foot.Add(PrintInvoiceLine.FooterThanksMessage + "\n"); foot.Add(PrintInvoiceLine.FooterLastMessage + "\n"); foot.Add(PrintInvoiceLine.DotedLine); foot.Add("\n");// Just to Check; if (isRePrint) { foot.Add("(Reprinted)\n"); } foot.Add("Printed on: " + DateTime.Now + "\n"); pdfDoc.Add(foot); pdfDoc.Close(); //Print to Default Local Added Printer // PrintPDFLocal(fileName); return(fName); } catch (Exception exp) { return(exp.Message); } }
public HttpResponseMessage Post(HttpRequestMessage request, ExpenseListViewCriteria criteria) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; // Force params // Approved SyncStatusId criteria.SyncStatusId = 3; // Not exported criteria.Exported = 2; // GetAll criteria.Size = -1; SearchResultViewModel <ExpenseDto> expenseList = this.expenseAppService.Search(criteria); SearchResultViewModel <ExportExpenseDto> exportExpenseList = Mapper.Map <SearchResultViewModel <ExpenseDto>, SearchResultViewModel <ExportExpenseDto> >(expenseList); string connectionStringsConfigPath = HttpContext.Current.Server.MapPath("~/ConnectionStrings.config"); XElement doc = XElement.Load($"{connectionStringsConfigPath}"); string reportsContextConnectionString = doc.Descendants("add") .Where(x => (string)x.Attribute("name") == "ReportsContext") .Select(x => (string)x.Attribute("connectionString")) .FirstOrDefault(); using (SqlConnection connection = new SqlConnection(reportsContextConnectionString ?? throw new InvalidOperationException("No se pudo establecer la conexión a la base de datos."))) { const string ProviderAccountNumberQuery = @"SELECT CONVERT(int,PVMPRH_NROCTA) from PVMPRH where @ProveedorId = PVMPRH_NRODOC"; List <long> providersNotExported = new List <long>(); List <KeyValuePair <long, int> > existingProviders = new List <KeyValuePair <long, int> >(); long expensesExported = 0; long expensesNotExported = 0; DateTime CurrentDate = DateTime.Today; foreach (ExportExpenseDto expense in exportExpenseList.Results) { Int32 providerAccountNumber = 0; if (existingProviders.All(x => x.Key != expense.Provider.Cuit)) { SqlCommand command = new SqlCommand(ProviderAccountNumberQuery, connection); command.Parameters.AddWithValue("@ProveedorId", expense.Provider.Cuit); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { if (reader.Read()) { providerAccountNumber = reader.GetInt32(0); if (providerAccountNumber != 0) { existingProviders.Insert(0, new KeyValuePair <long, int>(expense.Provider.Cuit, providerAccountNumber)); } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { reader.Close(); command.Dispose(); connection.Close(); } } else { providerAccountNumber = existingProviders.Where(x => x.Key == expense.Provider.Cuit).Select(x => x.Value).FirstOrDefault(); } if (providerAccountNumber != 0) { bool SIN_IVA = expense.Aliquot.Description == "SIN IVA"; string userCompanyGroupForExpense = expense.User.UserCompanyGroups.Where(x => x.Company.Id == expense.CompanyId). Select(x => x.UserGroup.Code + x.Company.Id). FirstOrDefault(); var stringifiedproviderAccountNumber = providerAccountNumber.ToString(); ReceiptHeader header = new ReceiptHeader() { SAR_CORMVH_IDENTI = expense.Id.ToString(), SAR_CORMVH_CIRCOM = SIN_IVA ? CIRCOM.SIN_IVA : CIRCOM.IVA, SAR_CORMVH_CIRAPL = SIN_IVA ? CIRCOM.SIN_IVA : CIRCOM.IVA, SAR_CORMVH_CODEMP = "AL0" + expense.CompanyId, SAR_CORMVH_CODORI = expense.Receipt, SAR_CORMVH_CMPRAD = "N/A", SAR_CORMVH_STATUS = 'N', SAR_CORMVH_FCHMOV = CurrentDate, SAR_CORMVH_NROCTA = stringifiedproviderAccountNumber.PadLeft(6) }; receiptHeaderContext.Add(header); var hasNotTaxesConcepts = Math.Abs(double.Parse(expense.NotTaxedConcepts)) > 0; ReceiptItem itemDefault = new ReceiptItem() { SAR_CORMVI_IDENTI = expense.Id.ToString(), SAR_CORMVI_TIPORI = expense.Category.Code, SAR_CORMVI_CANTID = 1, SAR_CORMVI_ARTORI = expense.CompanyId + expense.Category.Code + userCompanyGroupForExpense + "G", SAR_CORMVI_NROITM = 1, SAR_CORMVI_PRECIO = SIN_IVA ? expense.Total : expense.NetValue, SAR_CORMVI_NROAPL = null, SAR_CORMVI_ITMAPL = null }; receiptItemContext.Add(itemDefault); CreateDistribution(expense.Id, itemDefault.SAR_CORMVI_NROITM, expense.CompanyId, expense.User.Id_Erp); D_Concepts Debe_concepts_default = new D_Concepts() { SAR_CORMVI08_IDENTI = expense.Id, SAR_CORMVI08_IMPORT = expense.Total }; debeConceptsRepository.Add(Debe_concepts_default); H_Concepts Haber_concepts_default = new H_Concepts() { SAR_CORMVI09_IDENTI = expense.Id, SAR_CORMVI09_CODCPT = expense.CompanyId + (expense.Payment.Description == "Efectivo" ? "E" : "T"), SAR_CORMVI09_IMPORT = expense.Total }; haberConceptsRepository.Add(Haber_concepts_default); if (hasNotTaxesConcepts) { ReceiptItem secondLine = itemDefault.Clone(); secondLine.SAR_CORMVI_NROITM = 2; secondLine.SAR_CORMVI_PRECIO = expense.NotTaxedConcepts; secondLine.SAR_CORMVI_ARTORI = secondLine.SAR_CORMVI_ARTORI.Remove(secondLine.SAR_CORMVI_ARTORI.Length - 1, 1) + "N"; receiptItemContext.Add(secondLine); CreateDistribution(expense.Id, secondLine.SAR_CORMVI_NROITM, expense.CompanyId, expense.User.Id_Erp); } string aliquotValue = expense.Aliquot.Value.ToString(CultureInfo.InvariantCulture); if (!SIN_IVA) { TaxesDetails taxDetails = new TaxesDetails() { SAR_CORMVI07_IDENTI = expense.Id.ToString(), SAR_CORMVI07_CODCPT = GetCODPT(aliquotValue), SAR_CORMVI07_INGRES = expense.NetValue, SAR_CORMVI07_IMPGRA = expense.NetValue, SAR_CORMVI07_PORCEN = aliquotValue, SAR_CORMVI07_NROITM = 1 }; taxesDetailsRepository.Add(taxDetails); } DistDimTesoH distDimTesoH = new DistDimTesoH() { SAR_CJRMVD10_IDENTI = expense.Id, SAR_CJRMVD10_CODDIS = $"AL0{expense.CompanyId.ToString()}|{expense.User.Id_Erp}" }; distDimTesoHRepository.Add(distDimTesoH); this.reportsUnitOfWork.Commit(); expensesExported++; } else { expensesNotExported++; if (!providersNotExported.Contains(expense.Provider.Cuit)) { providersNotExported.Add(expense.Provider.Cuit); } } } foreach (var expense in expenseList.Results) { if (!providersNotExported.Contains(expense.Provider.Cuit)) { expense.Exported = true; expense.ExportedDateTime = DateTime.Now; this.expenseRepository.Edit(Mapper.Map <ExpenseDto, Expense>(expense)); this.unitOfWork.Commit(); } } int notExportedProviders = providersNotExported.Count(); string providersPath = null; if (notExportedProviders > 0) { ProviderListViewCriteria providersCriteria = new ProviderListViewCriteria() { Size = -1, FileName = "Proveedores_inexistentes_exportacion_gastos" }; SearchResultViewModel <ProviderDto> providersList = this.providerAppService.ExportData(providersCriteria, null, providersNotExported); providersPath = this.SaveCsv <ProviderDto, ProviderListViewCriteria>(providersList, providersCriteria, providersCriteria.FileName + "_" + long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")), false, null); } response = request.CreateResponse(HttpStatusCode.Created, new { success = true, exported = expensesExported, not_exported = expensesNotExported, inexistent_providers = notExportedProviders, error_providers_path = providersPath }); } return response; }));
public async Task <Tuple <ImportFileLog, ImportResult> > ParseAsync(IEnumerable <string[]> lines, CancellationToken token = default(CancellationToken)) { var torihikiKubuns = FileInformation.GetImportableValues(); if (torihikiKubuns.Any()) { ImportableTorihikiKubun = torihikiKubuns; } var fileLog = new ImportFileLog { Id = FileInformation.Index, CompanyId = Helper.CompanyId, FileName = FileInformation.Path, FileSize = FileInformation.Size, CreateBy = Helper.LoginUserId, }; var parseResult = ImportResult.Success; ReceiptHeader header = null; var receiptCategoryId = 0; var parseSkipping = false; DateTime workDay = DateTime.MinValue; BankAccount account = null; foreach (var fields in lines) { if (fields.Length < 1) { parseResult = ImportResult.FileFormatError; break; } var datakubun = fields.First(); if (datakubun == Constants.DataKubun.Header) { if (fields.Length < 14) { parseResult = ImportResult.FileFormatError; break; } if (header != null && header.Receipts.Any()) { fileLog.ReceiptHeaders.Add(header); } var sakuseibi = fields[2]; var bankCode = fields[8]; var bankName = fields[9]; var branchCode = fields[10]; var branchName = fields[11]; var accountType = fields[12]; var accountNumber = fields[13]; if (!Helper.ValidateBankCode(ref bankCode) || !Helper.ValidateBranchCode(ref branchCode) || !Helper.ValidateAccountNumber(ref accountNumber)) { parseResult = ImportResult.BankAccountFormatError; break; } var accountTypeId = 0; if (!int.TryParse(accountType, out accountTypeId) || !Constants.ImportableAccountTypeIds.Contains(accountTypeId)) { parseResult = ImportResult.BankAccountFormatError; break; } if (!Helper.TryParseDateTime(sakuseibi, out workDay)) { parseResult = ImportResult.FileFormatError; break; } account = Helper.IsAsync ? await Helper.GetBankAccountAsync(bankCode, branchCode, accountTypeId, accountNumber, token) : Helper.GetBankAccount(bankCode, branchCode, accountTypeId, accountNumber); if (account == null || !account.ReceiptCategoryId.HasValue) { parseResult = ImportResult.BankAccountMasterError; FileInformation.BankInformation = $"銀行コード:{bankCode}, 支店コード:{branchCode}, 預金種別:{accountType}, 口座番号:{accountNumber}"; break; } if (account.ImportSkipping == 1) { parseSkipping = true; header = null; continue; } parseSkipping = false; receiptCategoryId = account.ReceiptCategoryId.Value; bankName = Helper.ConvertToValidEbCharacter(bankName).Left(30); branchName = Helper.ConvertToValidEbCharacter(branchName).Left(30); header = new ReceiptHeader { CompanyId = Helper.CompanyId, CurrencyId = Helper.DefaultCurrency.Id, ImportFileLogId = fileLog.ReceiptHeaders.Count, Workday = workDay, BankCode = bankCode, BankName = bankName, BranchCode = branchCode, BranchName = branchName, AccountTypeId = accountTypeId, AccountNumber = accountNumber, AccountName = string.Empty, CreateBy = Helper.LoginUserId, UpdateBy = Helper.LoginUserId, }; } if (datakubun == Constants.DataKubun.Data) { if (fields.Length < 19) { parseResult = ImportResult.FileFormatError; break; } if (parseSkipping) { continue; } fileLog.ReadCount++; var torikeshikubun = fields[6]; var kanjyoubi = fields[8]; var kisanbi = fields[9]; var torihikikubun = fields[10]; var torihikikingakukubun = fields[11]; var torihikikingaku = fields[12]; var tekiyo1 = fields[15]; var tekiyo2 = fields[16]; var sourceBankName = fields[17]; var sourceBranchName = fields[18]; if (!ImportableTorikeshiKubun.Contains(torikeshikubun) || !ImportableTorihikiKubun.Contains(torihikikubun)) { continue; } var monthday = FileInformation.UseValueDate ? kisanbi : kanjyoubi; monthday = monthday.Left(4, '0', true); var month = monthday.Substring(0, 2); var day = monthday.Substring(2); var recordedAt = DateTime.MinValue; if (!Helper.TryParseDateTimeAnser(month, day, out recordedAt)) { parseResult = ImportResult.FileFormatError; break; } var sign = GetSign(torihikikingakukubun); if (sign == 0M) { parseResult = ImportResult.FileFormatError; break; } var receiptAmount = 0M; if (!decimal.TryParse(torihikikingaku, out receiptAmount) || Constants.MaxAmount < Math.Abs(receiptAmount)) { parseResult = ImportResult.FileFormatError; break; } receiptAmount = sign * receiptAmount; var payerNameRaw = Helper.ConvertToValidEbCharacter((tekiyo1 + tekiyo2).Trim()).Left(140); var payerName = Helper.RemoveLegalPersonality(payerNameRaw); sourceBankName = Helper.ConvertToValidEbCharacter(sourceBankName).Left(140); sourceBranchName = Helper.ConvertToValidEbCharacter(sourceBranchName).Left(140); int?customerId = null; // Helper.GetCustomerIdByExclusiveInfo(account.BankCode, account.BranchCode, ""); int?sectionId = null; // Helper.GetSectionIdByPayerCode(payerCode: ""); int?excludeCategoryId = Helper.UseApportion ? null : Helper.IsAsync ? await Helper.GetExcludeCategoryIdAsync(payerName, token) : Helper.GetExcludeCategoryId(payerName); var receipt = new Receipt { Id = header.Receipts.Count() + 1, CompanyId = Helper.CompanyId, CurrencyId = Helper.DefaultCurrency.Id, ReceiptHeaderId = header.Id, ReceiptCategoryId = receiptCategoryId, CustomerId = customerId, SectionId = sectionId, InputType = Constants.InputTypeEbImporter, Apportioned = Helper.UseApportion ? 0 : 1, Approved = 1, Workday = workDay, RecordedAt = recordedAt, ReceiptAmount = receiptAmount, RemainAmount = receiptAmount, PayerCode = string.Empty, PayerName = payerName, PayerNameRaw = payerNameRaw, SourceBankName = sourceBankName, SourceBranchName = sourceBranchName, ExcludeFlag = excludeCategoryId.HasValue ? 1 : 0, ExcludeCategoryId = excludeCategoryId, CreateBy = Helper.LoginUserId, UpdateBy = Helper.LoginUserId, }; if (excludeCategoryId.HasValue) { receipt.ExcludeAmount = receiptAmount; receipt.RemainAmount = 0M; receipt.AssignmentFlag = 2; var exclude = new ReceiptExclude { Id = receipt.Id, ReceiptId = receipt.Id, ExcludeCategoryId = excludeCategoryId, ExcludeAmount = receiptAmount, CreateBy = Helper.LoginUserId, UpdateBy = Helper.LoginUserId, }; header.ReceiptExcludes.Add(exclude); } header.Receipts.Add(receipt); header.ImportCount++; header.ImportAmount += receiptAmount; fileLog.ImportCount++; fileLog.ImportAmount += receiptAmount; } if (datakubun == Constants.DataKubun.Trailer) { } if (datakubun == Constants.DataKubun.End) { } } if (header != null && header.Receipts.Any()) { fileLog.ReceiptHeaders.Add(header); } if (parseResult == ImportResult.Success && !fileLog.ReceiptHeaders.Any()) { parseResult = ImportResult.ImportDataNotFound; } return(Tuple.Create(fileLog, parseResult)); }
public virtual JsonNetResult GetPagedReceiptDetails(int pageNumber, int pageSize, ReceiptHeader model, IList <IList <Sage.CA.SBS.ERP.Sage300.Common.Models.Filter> > filters) { try { var receiptDetail = ControllerInternal.GetPagedDetail(pageNumber, pageSize, model, filters); return(JsonNet(receiptDetail)); } catch (BusinessException businessException) { return(JsonNet(BuildErrorModelBase(CommonResx.GetFailedMessage, businessException, ReceiptHeaderResx.Receipt))); } }