Example #1
0
        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
                    });
                }
            }
        }
Example #2
0
        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
                    });
                }
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }