private void CreateInvoice(int row) { //check if invoice number is ok, or quit if (ErrorUtil.IsInvoiceNumberOk(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.InvoiceNumber)) { Invoice.GetInstance().InvoiceNumber = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.InvoiceNumber); } //check and add invoice if (ErrorUtil.CheckRecordType(monthlyExcelFile.invoicesRange, row, RecordType.invoice)) { Invoice.GetInstance().RecordType = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.RecordType); } if (InvoiceUtil.CheckSupplierNumber(monthlyExcelFile.invoicesRange, row)) { Invoice.GetInstance().SupplierNumber = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.SupplierNumber); } if (InvoiceUtil.CheckDate(monthlyExcelFile.invoicesRange, row)) { Invoice.GetInstance().Date = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.Date); } if (InvoiceUtil.CheckTaxAmount(monthlyExcelFile.invoicesRange, row)) { Invoice.GetInstance().TaxAmount = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.TaxAmount); } Invoice.GetInstance().CustomerNumber = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.CustomerNumber); Invoice.GetInstance().RegularDiscount = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.RegularDiscountNumber); Invoice.GetInstance().SaleDiscount = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.SaleDiscountNumber); Invoice.GetInstance().DistrupitionDiscount = ExcelUtil.GetStringValue(monthlyExcelFile.invoicesRange, row, ColumnsInvoice.DistrupitionDiscountNumber); if (Invoice.GetInstance().IsNoErrors) { AddOrders(Invoice.GetInstance().InvoiceNumber); if (Invoice.GetInstance().Orders.Count < 1) { ErrorUtil.FinallizeErrorAndAdd(new Error { Issue = "לא נמצאו הזמנות לחשבונית " }, row: 1, column: 1, range: monthlyExcelFile.ordersRange); } else { //mark row to be deleted recordsToBeDeleted.Add(new RecordToBeDeleted { Record = row, Sheet = Sheets.InvoicesSheetNumber }); } } }
public void AddOrders(string invoiceNumber) { Excel.Range cell = monthlyExcelFile.ordersRange.Find(invoiceNumber.TrimStart()); int row; int nextsRow; if (cell != null) { row = cell.Row; if (!AddOrder(cell.Row)) { ErrorUtil.FinallizeErrorAndAdd(new Error { Issue = "לא נמצאו שורות להזמנה" }, row: 1, column: 1, range: monthlyExcelFile.ordersRange); return; } recordsToBeDeleted.Add(new RecordToBeDeleted { Record = cell.Row, Sheet = Sheets.OrdersSheetNumber }); while (monthlyExcelFile.ordersRange.FindNext(cell) != null) { cell = monthlyExcelFile.ordersRange.Find(invoiceNumber.TrimStart()); nextsRow = cell.Row; if (row == nextsRow) { return; } if (!AddOrder(cell.Row)) { return; } recordsToBeDeleted.Add(new RecordToBeDeleted { Record = cell.Row, Sheet = Sheets.OrdersSheetNumber }); } } }
public static bool CheckQuantity(Excel.Range range, int row) { //Check Received Amount not empty Error error = null; int column = ColumnsLines.UnitPrice; if (!ErrorUtil.IsEmptyCell(range, row, column)) { //check is positive if (range.Cells[row, column].Value2 == (int)range.Cells[row, column].Value) { error = new Error(); error.Issue = "מספר לא שלם"; error.CurrentValue = range.Cells[row, column].Value2.ToString(); ErrorUtil.FinallizeErrorAndAdd(error, row, column, range); return(false); } return(true); } return(false); }
public static bool CheckProductTypeExist(Excel.Range range, int row, Excel.Range catalogRange) { Error error = null; int column = ColumnsLines.Product; if (!ErrorUtil.IsEmptyCell(range, row, column)) { int catalogLastRow = ExcelUtil.GetLastRow(catalogRange.Worksheet); for (int catalogRow = 2; catalogRow <= catalogLastRow; catalogRow++) { if (range.Cells[row, column].Value2.ToString() == catalogRange.Cells[catalogRow, 1].Value2.ToString()) { return(true); } } error = new Error(); error.Issue = "לא קיים בקטלוג"; error.CurrentValue = range.Cells[row, column].Value2.ToString(); ErrorUtil.FinallizeErrorAndAdd(error, row, column, range); return(false); } return(false); }
private bool AddOrder(int row) { if (!OrderUtil.CheckOrderDesc(monthlyExcelFile.ordersRange, row)) { return(false); } Order order = new Order(); if (ErrorUtil.IsInvoiceNumberOk(monthlyExcelFile.ordersRange, row, ColumnsOrder.InvoiceNumber)) { order.InvoiceNumber = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.InvoiceNumber); } else { return(false); } if (ErrorUtil.CheckRecordType(monthlyExcelFile.ordersRange, row, RecordType.order)) { order.RecordType = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.RecordType); } if (OrderUtil.CheckReceivedAmount(monthlyExcelFile.ordersRange, row)) { order.ReceivedAmount = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.RecivedAmount); } if (OrderUtil.CheckOrderNumber(monthlyExcelFile.ordersRange, row)) { order.OrderNumber = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.OrderNumber); } order.StoreNumber = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.StoreNumber); order.Date = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.Date); order.EnteranceStampNum = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.EnteranceStampNum); order.Discount = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.Discount); order.DiscountPrecent = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.DiscountPrecent); order.SaleDiscount = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.SaleDiscount); order.SaleDiscountPrecent = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.SaleDiscountPrecent); order.DistrbutionDiscount = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.DistrbutionDiscount); order.DistrbutionDiscountPrecent = ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.DistrbutionDiscountPrecent); Excel.Range cell = monthlyExcelFile.linesRange.Find(order.InvoiceNumber.TrimStart()); int cellRow; int nextsRow = 1; if (cell != null) { cellRow = cell.Row; if (ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.OrderDesc).TrimStart() == ExcelUtil.GetStringValue(monthlyExcelFile.linesRange, cell.Row, ColumnsLines.OrderDesc).TrimStart()) { AddLine(order, cell.Row); } cell = monthlyExcelFile.linesRange.Find(order.InvoiceNumber.TrimStart()); nextsRow = cell.Row; while (cellRow != nextsRow) { cell = monthlyExcelFile.linesRange.FindNext(cell); if (cell != null) { nextsRow = cell.Row; if (ExcelUtil.GetStringValue(monthlyExcelFile.ordersRange, row, ColumnsOrder.OrderDesc).TrimStart() == ExcelUtil.GetStringValue(monthlyExcelFile.linesRange, cell.Row, ColumnsLines.OrderDesc).TrimStart()) { AddLine(order, cell.Row); } } } } if (order.Lines.Count < 1) { ErrorUtil.FinallizeErrorAndAdd(new Error { Issue = "לא נמצאו שורות להזמנה" }, row: 1, column: 1, range: monthlyExcelFile.linesRange); return(false); } Invoice.GetInstance().AddOrder(order); recordsToBeDeleted.Add(new RecordToBeDeleted { Record = row, Sheet = Sheets.OrdersSheetNumber }); return(true); }