Пример #1
0
        private void EditInventoryManagement_Load(object sender, EventArgs e)
        {
            XuLy.getTransactionTypes(cbbTransactionType);
            XuLy.getSuppliers(cbbSuppliers);
            XuLy.getWarehouses(cbbSourceWarehouse);
            XuLy.getWarehouses(cbbDestinationWarehouse);
            XuLy.getParts(cbbPartName);
            InventoryManagementView viewOld = Program.oldEdit;

            cbbTransactionType.SelectedValue = viewOld.TransactionTypeID;
            if (viewOld.TransactionTypeID == 1)
            {
                cbbSuppliers.SelectedValue       = viewOld.SupplierID;
                cbbSourceWarehouse.Enabled       = false;
                cbbSourceWarehouse.SelectedIndex = -1;
            }
            else
            {
                cbbSourceWarehouse.SelectedValue = viewOld.SourceWarehouseID;
                cbbSuppliers.Enabled             = false;
                cbbSuppliers.SelectedIndex       = -1;
            }
            cbbDestinationWarehouse.SelectedValue = viewOld.DestinationWarehouseID;
            cbbPartName.SelectedValue             = viewOld.PartID;
            dtpDate.Value       = viewOld.Date;
            txtAmount.Text      = viewOld.Amount.ToString();
            txtBatchNumber.Text = viewOld.BatchNumber;
        }
Пример #2
0
 private void btnUpdate_Click(object sender, EventArgs e)
 {
     if (((int)cbbTransactionType.SelectedValue == 1 && cbbSuppliers.SelectedIndex == -1) || ((int)cbbTransactionType.SelectedValue == 2 && cbbSourceWarehouse.SelectedIndex == -1) || txtAmount.Text == "")
     {
         lbWarning.Text = "Please enter information!";
     }
     else
     {
         if ((int)cbbTransactionType.SelectedValue == 2 && ((int)cbbSourceWarehouse.SelectedValue == (int)cbbDestinationWarehouse.SelectedValue))
         {
             lbWarning.Text = "Source and the Destination Warehouses can't be the same";
         }
         else
         {
             float R = XuLy.getReceivedAmount((int)cbbSourceWarehouse.SelectedValue, (int)cbbPartName.SelectedValue, txtBatchNumber.Text);
             float T = XuLy.getTransferredAmount((int)cbbSourceWarehouse.SelectedValue, (int)cbbPartName.SelectedValue, txtBatchNumber.Text);
             if (R - T - int.Parse(txtAmount.Text) + Program.oldEdit.Amount < 0)
             {
                 MessageBox.Show("Max amount remain: " + (R - T), "");
             }
             else
             {
                 InventoryManagementView viewOld = Program.oldEdit;
                 InventoryManagementView viewNew = new InventoryManagementView();
                 viewNew.TransactionTypeID = (int)cbbTransactionType.SelectedValue;
                 if ((int)cbbTransactionType.SelectedValue == 1)
                 {
                     viewNew.SupplierID = (int)cbbSuppliers.SelectedValue;
                 }
                 else
                 {
                     viewNew.SourceWarehouseID = (int)cbbSourceWarehouse.SelectedValue;
                 }
                 viewNew.DestinationWarehouseID = (int)cbbDestinationWarehouse.SelectedValue;
                 viewNew.PartID       = (int)cbbPartName.SelectedValue;
                 viewNew.Amount       = int.Parse(txtAmount.Text);
                 viewNew.Date         = dtpDate.Value;
                 viewNew.OrderID      = viewOld.OrderID;
                 viewNew.OrderItemsID = viewOld.OrderItemsID;
                 XuLy.EditInventoryManagement(viewNew);
                 this.Close();
                 Program.list = XuLy.getInventoryManagementView();
                 Program.f.viewInventoryTable(Program.list);
                 Program.f.dgv1.ClearSelection();
                 for (int i = 0; i < Program.list.Count; i++)
                 {
                     if (Program.list[i].OrderItemsID == viewNew.OrderItemsID)
                     {
                         Program.f.dgv1.Rows[i].Selected = true;
                         break;
                     }
                 }
             }
         }
     }
 }
Пример #3
0
        public static List <InventoryManagementView> getInventoryManagementView()
        {
            conn.Open();
            string sql = "select Parts.Name,TransactionTypes.Name,Date,Amount,Suppliers.Name,wh1.Name,wh2.Name,Orders.ID,Orderitems.ID,TransactionTypes.ID,Suppliers.ID,wh1.ID,wh2.ID,Parts.ID,BatchNumber " +
                         "from Orders INNER JOIN Orderitems ON Orders.ID = Orderitems.OrderID " +
                         "LEFT JOIN Suppliers ON Orders.SupplierID=Suppliers.ID " +
                         "LEFT JOIN Warehouses wh1 ON Orders.SourceWarehouseID = wh1.ID " +
                         "INNER JOIN Warehouses wh2 ON Orders.DestinationWarehouseID = wh2.ID " +
                         "INNER JOIN TransactionTypes ON Orders.TransactionTypeID = TransactionTypes.ID " +
                         "INNER JOIN Parts ON Orderitems.PartID = Parts.ID " +
                         "order by Date, TransactionTypes.ID";
            SqlCommand    cmd = new SqlCommand(sql, conn);
            SqlDataReader dr  = cmd.ExecuteReader();
            List <InventoryManagementView> list = new List <InventoryManagementView>();

            while (dr.Read())
            {
                InventoryManagementView view = new InventoryManagementView();
                view.PartName          = dr.GetString(0);
                view.TransactionType   = dr.GetString(1);
                view.Date              = dr.GetDateTime(2);
                view.Amount            = dr.GetDouble(3);
                view.TransactionTypeID = dr.GetInt32(9);
                if (view.TransactionTypeID == 1)
                {
                    view.Supplier   = dr.GetString(4);
                    view.SupplierID = dr.GetInt32(10);
                }
                if (view.TransactionTypeID == 2)
                {
                    view.SourceWarehouse   = dr.GetString(5);
                    view.SourceWarehouseID = dr.GetInt32(11);
                }
                view.DestinationWarehouse = dr.GetString(6);
                view.OrderID                = dr.GetInt32(7);
                view.OrderItemsID           = dr.GetInt32(8);
                view.DestinationWarehouseID = dr.GetInt32(12);
                view.PartID      = dr.GetInt32(13);
                view.BatchNumber = dr.GetString(14);
                list.Add(view);
            }
            conn.Close();
            return(list);
        }
Пример #4
0
        public static void EditInventoryManagement(InventoryManagementView view)
        {
            conn.Open();
            string sql = "update OrderItems " +
                         "set PartID=@PartID, Amount=@Amount " +
                         "where ID=@OrderItemsID and OrderID=@OrderID";
            SqlCommand cmd = new SqlCommand(sql, conn);

            cmd.Parameters.AddWithValue("PartID", view.PartID);
            cmd.Parameters.AddWithValue("Amount", view.Amount);
            cmd.Parameters.AddWithValue("OrderItemsID", view.OrderItemsID);
            cmd.Parameters.AddWithValue("OrderID", view.OrderID);
            cmd.ExecuteNonQuery();
            conn.Close();

            conn.Open();
            sql = "update Orders " +
                  "set TransactionTypeID=@TransactionTypeID, SupplierID=@SupplierID, SourceWarehouseID=@SourceWarehouseID, DestinationWarehouseID=@DestinationWarehouseID, Date=@Date " +
                  "where ID=@OrderID";
            cmd = new SqlCommand(sql, conn);
            cmd.Parameters.AddWithValue("TransactionTypeID", view.TransactionTypeID);
            if (view.TransactionTypeID == 1)
            {
                cmd.Parameters.AddWithValue("SupplierID", view.SupplierID);
                cmd.Parameters.AddWithValue("SourceWarehouseID", DBNull.Value);
            }
            else
            {
                cmd.Parameters.AddWithValue("SupplierID", DBNull.Value);
                cmd.Parameters.AddWithValue("SourceWarehouseID", view.SourceWarehouseID);
            }
            cmd.Parameters.AddWithValue("DestinationWarehouseID", view.DestinationWarehouseID);
            cmd.Parameters.AddWithValue("Date", view.Date);
            cmd.Parameters.AddWithValue("OrderID", view.OrderID);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
Пример #5
0
        private void dgv1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            List <InventoryManagementView> list = Program.list;

            if (e.ColumnIndex == 0)
            {
                if (sortAscending)
                {
                    list.Sort((x, y) => x.PartName.CompareTo(y.PartName));
                }
                else
                {
                    list.Sort((x, y) => y.PartName.CompareTo(x.PartName));
                }
            }
            if (e.ColumnIndex == 1)
            {
                if (sortAscending)
                {
                    list.Sort((x, y) => x.TransactionType.CompareTo(y.TransactionType));
                }
                else
                {
                    list.Sort((x, y) => y.TransactionType.CompareTo(x.TransactionType));
                }
            }
            if (e.ColumnIndex == 2)
            {
                if (sortAscending)
                {
                    list.Sort(delegate(InventoryManagementView a, InventoryManagementView b)
                    {
                        int xdiff = a.Date.CompareTo(b.Date);
                        if (xdiff != 0)
                        {
                            return(xdiff);
                        }
                        else
                        {
                            return(a.TransactionTypeID.CompareTo(b.TransactionTypeID));
                        }
                    });
                }
                else
                {
                    list.Sort(delegate(InventoryManagementView a, InventoryManagementView b)
                    {
                        int xdiff = b.Date.CompareTo(a.Date);
                        if (xdiff != 0)
                        {
                            return(xdiff);
                        }
                        else
                        {
                            return(a.TransactionTypeID.CompareTo(b.TransactionTypeID));
                        }
                    });
                }
            }
            if (e.ColumnIndex == 3)
            {
                if (sortAscending)
                {
                    list.Sort((x, y) => x.Amount.CompareTo(y.Amount));
                }
                else
                {
                    list.Sort((x, y) => y.Amount.CompareTo(x.Amount));
                }
            }
            if (e.ColumnIndex == 4)
            {
                List <string> source = new List <string>();
                for (int i = 0; i < list.Count; i++)
                {
                    if (list[i].TransactionTypeID == 1)
                    {
                        source.Add(list[i].Supplier);
                    }
                    else
                    {
                        source.Add(list[i].SourceWarehouse);
                    }
                }
                if (sortAscending)
                {
                    for (int i = 0; i < list.Count - 1; i++)
                    {
                        for (int j = i + 1; j < list.Count; j++)
                        {
                            if (String.Compare(source[i], source[j]) > 0)
                            {
                                string st = source[i];
                                source[i] = source[j];
                                source[j] = st;
                                InventoryManagementView temp = list[i];
                                list[i] = list[j];
                                list[j] = temp;
                            }
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < list.Count - 1; i++)
                    {
                        for (int j = i + 1; j < list.Count; j++)
                        {
                            if (String.Compare(source[i], source[j]) < 0)
                            {
                                string st = source[i];
                                source[i] = source[j];
                                source[j] = st;
                                InventoryManagementView temp = list[i];
                                list[i] = list[j];
                                list[j] = temp;
                            }
                        }
                    }
                }
            }
            if (e.ColumnIndex == 5)
            {
                if (sortAscending)
                {
                    list.Sort((x, y) => x.DestinationWarehouse.CompareTo(y.DestinationWarehouse));
                }
                else
                {
                    list.Sort((x, y) => y.DestinationWarehouse.CompareTo(x.DestinationWarehouse));
                }
            }

            viewInventoryTable(list);
            Program.list  = list;
            sortAscending = !sortAscending;
        }