예제 #1
0
        public void clbOrderNumbers_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            PurchaseOrdersObj purchaseorder = PurchaseOrders.GetByID((int)clbOrderNumbers.Items[e.Index]);

            if (e.NewValue == CheckState.Checked)
            {
                foreach (PurchaseOrderDetailsObj item in PurchaseOrderDetails.GetByPONumber(purchaseorder.PONumber).FindAll(m => m.QuantityRemaining != 0))
                {
                    bs.Add(item);
                }
                foreach (POHistoryobj  item in POHistory.GetReceivedItems(purchaseorder.PONumber))
                {
                    rbs.Add(item);
                }
                foreach (POLogObj item in POLog.GetAll(Convert.ToInt32(cbSupplier.SelectedValue),purchaseorder.PONumber).FindAll(m=>m.IsUpdated == false))
                {
                    nbs.Add(item);
                }
            }
            else
            {
                foreach (PurchaseOrderDetailsObj item in purchaseorderdetailslist.FindAll(m => m.PONumber == purchaseorder.PONumber))
                {
                    bs.Remove(item);
                }
                foreach (POHistoryobj item in ReceivingList.FindAll(m => m.PONumber == purchaseorder.PONumber))
                {
                    rbs.Remove(item);
                }
                foreach (POLogObj  item in NotReceivingList.FindAll(m => m.PONumber == purchaseorder.PONumber))
                {
                   nbs.Remove(item); 
                }
            }
        }
예제 #2
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int x = 1;
            int q = 0;

            frmMain.receivedreport.ReportDataSet.Clear();
            for (int i = 0; i < dgvReceiving.Rows.Count; i++)
            {
                POHistoryobj poh = new POHistoryobj();
                ReceiveObj   rcv = ReceivingList[i];
                poh.Cost         = rcv.Cost;
                poh.EnteredBy    = txtOperationName.Text;
                poh.ItemNumber   = rcv.ItemNumber;
                poh.LocalSKU     = rcv.LocalSKU;
                poh.PONumber     = rcv.PONumber;
                poh.Quantity     = rcv.QtyReceived;
                poh.SuppliersSKU = rcv.SupplierSKU;
                POHistory.Insert(poh);
                Inv.UpdatePrice(rcv.LocalSKU, rcv.Price, rcv.Price2, rcv.Price3, rcv.QtyReceived);


                string                     res = "";
                InventoryRecord            ir  = Inv.GetData(rcv.LocalSKU, rcv.LocalSKU, ref res);
                ReportDataSet.InventoryRow r   = frmMain.receivedreport.ReportDataSet.Inventory.NewInventoryRow();
                r.Barcode      = ir.Barcode;
                r.BarcodeImage = "file:///" + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "//SIO//BI//" + ir.Barcode + ".jpg";
                r.ID           = x;
                r.ItemName     = ir.ProductName;
                r.Location     = ir.Location;
                r.Price        = "$" + Math.Round(ir.Price, 2).ToString();
                r.Price3       = "$" + Math.Round(ir.Price3, 2).ToString();
                r.Qty          = rcv.QtyReceived;
                q            += rcv.QtyReceived;
                r.SKU         = ir.SKU;
                r.OrderNumber = rcv.OrderNumber.ToString();
                frmMain.receivedreport.ReportDataSet.Tables[0].Rows.Add(r);

                if (checkBox1.Checked)
                {
                    dgvReceiving_CellContentClick(dgvReceiving, new DataGridViewCellEventArgs(dgvReceiving.Columns["clm2QuickPrint"].Index, i));
                }
            }


            frmMain.receivedreport.WindowState   = FormWindowState.Normal;
            frmMain.receivedreport.StartPosition = FormStartPosition.CenterScreen;
            frmMain.receivedreport.reportViewer1.RefreshReport();
            foreach (POLogObj item in pologlist)
            {
                POLog.Update(item.POLogID);
            }

            frmMain.receivedreport.ShowDialog();
            ResetAll((Control)cbSupplier);
        }
예제 #3
0
        public void Receive(string SKU, int Quantity, int PONumber = 0)
        {
            PurchaseOrderDetailsObj pod;

            if (PONumber == 0)
            {
                pod = purchaseorderdetailslist.FirstOrDefault(m => m.LocalSKU.ToLower() == SKU.ToLower());
            }
            else
            {
                pod = purchaseorderdetailslist.FirstOrDefault(m => m.LocalSKU.ToLower() == SKU.ToLower() && m.PONumber == PONumber);
            }

            if (pod != null)
            {
                ReceiveObj rcv = ReceivingList.FirstOrDefault(m => m.PONumber == pod.PONumber && m.LocalSKU.ToLower() == pod.LocalSKU.ToLower());
                if (rcv == null)
                {
                    string          res    = "";
                    InventoryRecord InvR   = Inv.GetData(SKU, SKU, ref res);
                    ReceiveObj      Newrcv = new ReceiveObj();
                    Newrcv.ItemName    = pod.ItemName;
                    Newrcv.ItemNumber  = pod.ItemNumber;
                    Newrcv.Cost        = Math.Round(pod.ExpectedCost, 4);
                    Newrcv.LocalSKU    = pod.LocalSKU;
                    Newrcv.Location    = InvR.Location;
                    Newrcv.OrderNumber = InvR.OrderNumber;
                    Newrcv.PONumber    = pod.PONumber;
                    Newrcv.Price       = InvR.Price;
                    Newrcv.Price2      = InvR.Price2;
                    Newrcv.Price3      = InvR.Price3;
                    if (Quantity > pod.QuantityRemaining)
                    {
                        Console.Beep(3800, 500);
                        if (MessageBox.Show("The Selected Quantity is bigger than that expected. Do you want to receive more?", "Scan In&Out", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
                        {
                            return;
                        }
                        Newrcv.QtyReceived = Quantity;
                    }
                    else
                    {
                        Newrcv.QtyReceived = Quantity;
                    }
                    Newrcv.SupplierSKU = pod.SuppliersSKU;

                    rbs.Add(Newrcv);
                    #region LOG
                    POLogObj l = new POLogObj();
                    l.Cost         = Newrcv.Cost;
                    l.IsUpdated    = false;
                    l.ItemName     = Newrcv.ItemName;
                    l.ItemNumber   = Newrcv.ItemNumber;
                    l.Location     = Newrcv.Location;
                    l.OrderNumber  = Newrcv.OrderNumber;
                    l.PONumber     = Newrcv.PONumber;
                    l.Price        = Newrcv.Price;
                    l.Price2       = Newrcv.Price2;
                    l.Price3       = Newrcv.Price3;
                    l.QtyOrdered   = pod.Ordered;
                    l.QtyReceived  = Newrcv.QtyReceived;
                    l.QtyRemaining = pod.QuantityRemaining;
                    l.SKU          = Newrcv.LocalSKU;
                    l.SupplierID   = Convert.ToInt32(cbSupplier.SelectedValue);
                    l.SupplierName = cbSupplier.Text;
                    l.SupplierSKU  = Newrcv.SupplierSKU;
                    if (!RestoreMode)
                    {
                        POLog.Insert(l);
                    }
                    pologlist.Add(l);
                    #endregion
                    dgvReceiving.Refresh();
                    LastItem = Newrcv.PONumber.ToString() + "," + Newrcv.LocalSKU + "," + Quantity.ToString();

                    FileInfo fi = new FileInfo(System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "//SIO//BI//" + InvR.Barcode + ".jpg");
                    if (!fi.Exists)
                    {
                        Image i = Code128Rendering.MakeBarcodeImage(InvR.Barcode, 1, true);
                        i.Save(fi.FullName);
                    }
                }
                else
                {
                    rcv.QtyReceived += Quantity;
                    LastItem         = rcv.PONumber.ToString() + "," + rcv.LocalSKU + "," + Quantity.ToString();
                    #region LOG
                    POLogObj l = new POLogObj();
                    l.Cost         = rcv.Cost;
                    l.IsUpdated    = false;
                    l.ItemName     = rcv.ItemName;
                    l.ItemNumber   = rcv.ItemNumber;
                    l.Location     = rcv.Location;
                    l.OrderNumber  = rcv.OrderNumber;
                    l.PONumber     = rcv.PONumber;
                    l.Price        = rcv.Price;
                    l.Price2       = rcv.Price2;
                    l.Price3       = rcv.Price3;
                    l.QtyOrdered   = pod.Ordered;
                    l.QtyReceived  = rcv.QtyReceived;
                    l.QtyRemaining = pod.QuantityRemaining;
                    l.SKU          = rcv.LocalSKU;
                    l.SupplierID   = Convert.ToInt32(cbSupplier.SelectedValue);
                    l.SupplierName = cbSupplier.Text;
                    l.SupplierSKU  = rcv.SupplierSKU;
                    if (!RestoreMode)
                    {
                        POLog.Insert(l);
                    }
                    pologlist.Add(l);
                    #endregion
                }
                Console.Beep();
                dgvReceiving.Refresh();
                if (pod.QuantityRemaining < Quantity)
                {
                    pod.QuantityRemaining = 0;
                }
                else
                {
                    pod.QuantityRemaining -= Quantity;
                }
            }
            else
            {
                Console.Beep(3800, 500);
                ReceiveObj rcv = ReceivingList.FirstOrDefault(m => m.LocalSKU.ToLower() == SKU.ToLower() && m.PONumber != 0);
                if (rcv != null)
                {
                    if (MessageBox.Show(@"You have received the full quantity ordered for this item." + Environment.NewLine + "Do you want to receive more?", "Scan IN&OUT", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        rcv.QtyReceived += Quantity;
                        LastItem         = rcv.PONumber.ToString() + "," + rcv.LocalSKU + "," + Quantity.ToString();

                        #region LOG
                        POLogObj l = new POLogObj();
                        l.Cost         = rcv.Cost;
                        l.IsUpdated    = false;
                        l.ItemName     = rcv.ItemName;
                        l.ItemNumber   = rcv.ItemNumber;
                        l.Location     = rcv.Location;
                        l.OrderNumber  = rcv.OrderNumber;
                        l.PONumber     = rcv.PONumber;
                        l.Price        = rcv.Price;
                        l.Price2       = rcv.Price2;
                        l.Price3       = rcv.Price3;
                        l.QtyOrdered   = rcv.QtyReceived;
                        l.QtyReceived  = rcv.QtyReceived;
                        l.QtyRemaining = 0;
                        l.SKU          = rcv.LocalSKU;
                        l.SupplierID   = Convert.ToInt32(cbSupplier.SelectedValue);
                        l.SupplierName = cbSupplier.Text;
                        l.SupplierSKU  = rcv.SupplierSKU;
                        if (!RestoreMode)
                        {
                            POLog.Insert(l);
                        }
                        pologlist.Add(l);
                        #endregion
                    }
                }
                else
                {
                    string          res  = "";
                    InventoryRecord InvR = Inv.GetData(SKU, SKU, ref res);
                    if (InvR == null || string.IsNullOrWhiteSpace(InvR.SKU))
                    {
                        MessageBox.Show("Item Not Found!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    rcv = ReceivingList.FirstOrDefault(m => m.LocalSKU.ToLower() == SKU.ToLower() && m.PONumber == 0);
                    if (MessageBox.Show(@"This item is not listed on the selected PO(s)." + Environment.NewLine + "Do you want to receive it?", "Scan IN&OUT", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        if (rcv == null)
                        {
                            rcv = new ReceiveObj();

                            rcv.Cost        = 0;
                            rcv.ItemName    = InvR.ProductName;
                            rcv.ItemNumber  = ReceivingList.FindAll(m => m.PONumber == 0).Count + 1;
                            rcv.LocalSKU    = InvR.SKU;
                            rcv.Location    = InvR.Location;
                            rcv.OrderNumber = 0;
                            rcv.PONumber    = 0;
                            rcv.Price       = InvR.Price;
                            rcv.Price2      = InvR.Price2;
                            rcv.Price3      = InvR.Price3;
                            rcv.QtyReceived = Quantity;
                            rcv.SupplierSKU = InvR.SupplierSKU;
                            rbs.Add(rcv);
                            LastItem = rcv.PONumber.ToString() + "," + rcv.LocalSKU + "," + Quantity.ToString();
                            FileInfo fi = new FileInfo(System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "//SIO//BI//" + InvR.Barcode + ".jpg");
                            if (!fi.Exists)
                            {
                                Image i = Code128Rendering.MakeBarcodeImage(InvR.Barcode, 1, true);
                                i.Save(fi.FullName);
                            }
                        }
                        else
                        {
                            rcv.QtyReceived += Quantity;
                            LastItem         = rcv.PONumber.ToString() + "," + rcv.LocalSKU + "," + Quantity.ToString();
                        }

                        #region LOG
                        POLogObj l = new POLogObj();
                        l.Cost         = rcv.Cost;
                        l.IsUpdated    = false;
                        l.ItemName     = rcv.ItemName;
                        l.ItemNumber   = rcv.ItemNumber;
                        l.Location     = rcv.Location;
                        l.OrderNumber  = rcv.OrderNumber;
                        l.PONumber     = rcv.PONumber;
                        l.Price        = rcv.Price;
                        l.Price2       = rcv.Price2;
                        l.Price3       = rcv.Price3;
                        l.QtyOrdered   = 0;
                        l.QtyReceived  = rcv.QtyReceived;
                        l.QtyRemaining = 0;
                        l.SKU          = rcv.LocalSKU;
                        l.SupplierID   = Convert.ToInt32(cbSupplier.SelectedValue);
                        l.SupplierName = cbSupplier.Text;
                        l.SupplierSKU  = rcv.SupplierSKU;
                        if (!RestoreMode)
                        {
                            POLog.Insert(l);
                        }
                        pologlist.Add(l);
                        #endregion
                    }
                }

                dgvReceiving.Refresh();
            }

            purchaseorderdetailslist.RemoveAll(m => m.QuantityRemaining == 0);
            bs.ResetBindings(false);
            dgvEcpected.Refresh();
        }