protected void SaveOrder_Click(object sender, EventArgs e)
        {
            PurchasingController sysmgr = new PurchasingController();

            if (int.Parse(VendorDropDown.SelectedValue) == 0)
            {
                MessageUserControl.ShowInfo("", "Error: you must select a vendor");
            }
            else
            {
                MessageUserControl.TryRun(() =>
                {
                    List <OrderDetailsViewModel> saveOrderDetails = GetOrderDetailsFromGridview();
                    OrderDetailsGrid.DataSource = saveOrderDetails;
                    OrderDetailsGrid.DataBind();
                    string comment = Comments.Text;
                    int orderId    = int.Parse(OrderID.Text);
                    SetOrder(comment, saveOrderDetails.Sum(x => x.ExtendedCost), saveOrderDetails.Sum(x => x.ExtendedCost) * .05M, saveOrderDetails.Sum(x => x.ExtendedCost) * 1.05M, orderId);
                    OrderViewModel saveOrder = new OrderViewModel
                    {
                        Comment  = Comments.Text,
                        SubTotal = decimal.Parse(SubTotal.Text),
                        Tax      = decimal.Parse(Tax.Text),
                        Total    = decimal.Parse(Total.Text),
                        OrderID  = int.Parse(OrderID.Text)
                    };
                    sysmgr.SavePurchaseOrder(int.Parse(VendorDropDown.SelectedValue), saveOrder, saveOrderDetails);
                }, "", "SUCCESS: Order Saved");
                var order = sysmgr.GetActiveOrder(int.Parse(VendorDropDown.SelectedValue));
                SetOrder(order.Comment, order.SubTotal, order.Tax, order.Total, order.OrderID);
                List <OrderDetailsViewModel> orderDetail = sysmgr.GetActiveOrderDetails(int.Parse(VendorDropDown.SelectedValue));
                OrderDetailsGrid.DataSource = orderDetail;
                OrderDetailsGrid.DataBind();
            }
        }
        protected void OrderDetails_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            var controller = new PurchasingController();
            int rowIndex   = Convert.ToInt32(e.CommandArgument);
            List <OrderDetailsViewModel> orderDetails = GetOrderDetailsFromGridview();
            OrderDetailsViewModel        orderDetail  = orderDetails[rowIndex];

            if (e.CommandName == "Remove_Command")
            {
                orderDetails.Remove(orderDetail);
                OrderDetailsGrid.DataSource = orderDetails;
                OrderDetailsGrid.DataBind();
                string comment = Comments.Text;
                int    orderId = int.Parse(OrderID.Text);
                SetOrder(comment, orderDetails.Sum(x => x.ExtendedCost), orderDetails.Sum(x => x.ExtendedCost) * .05M, orderDetails.Sum(x => x.ExtendedCost) * 1.05M, orderId);
            }
            else if (e.CommandName == "Refresh_Command")
            {
                orderDetails = GetOrderDetailsFromGridview();
                OrderDetailsGrid.DataSource = orderDetails;
                OrderDetailsGrid.DataBind();
                foreach (GridViewRow row in OrderDetailsGrid.Rows)
                {
                    if (row.FindTextBox("UnitCost").Text.ToDecimal() / row.FindLabel("OrderUnitSize").Text.ToInt() >= controller.GetProductSellingPrice(row.FindLabel("ProductId").Text.ToInt()))
                    {
                        row.FindLabel("Warning").Visible = true;
                    }
                }
                string comment = Comments.Text;
                int    orderId = int.Parse(OrderID.Text);
                SetOrder(comment, orderDetails.Sum(x => x.ExtendedCost), orderDetails.Sum(x => x.ExtendedCost) * .05M, orderDetails.Sum(x => x.ExtendedCost) * 1.05M, orderId);
            }
        }
        protected void PlaceOrder_Click(object sender, EventArgs e)
        {
            PurchasingController sysmgr   = new PurchasingController();
            List <PurchaseOrder> savelist = new List <PurchaseOrder>();

            loadPOGridView(savelist);
            calculatePOValue();
            InfoToSave infoToSave = new InfoToSave
            {
                EmployeeID = int.Parse(UsersList.SelectedValue),
                VendorID   = int.Parse(VendorList.SelectedValue),
                Comments   = Comments.Text,
                Subtotal   = decimal.Parse(Subtotal.Text),
                Tax        = decimal.Parse(Tax.Text)
            };

            MessageUserControl.TryRun(() =>
            {
                sysmgr.PlacePO(savelist, infoToSave);
            }, "Placing Order", "The purchase order has been placed.");
            if (UsersList.SelectedValue != "0")
            {
                Cancel_Click(sender, e);
            }
        }
 protected void DeleteOrder_Click(object sender, EventArgs e)
 {
     if (int.Parse(VendorDropDown.SelectedValue) == 0)
     {
         MessageUserControl.ShowInfo("", "Error: you must select a vendor");
     }
     else
     {
         MessageUserControl.TryRun(() =>
         {
             PurchasingController sysmgr = new PurchasingController();
             List <OrderDetailsViewModel> orderDetails = GetOrderDetailsFromGridview();
             string comment       = Comments.Text;
             int orderId          = int.Parse(OrderID.Text);
             OrderViewModel order = new OrderViewModel
             {
                 Comment  = Comments.Text,
                 SubTotal = decimal.Parse(SubTotal.Text),
                 Tax      = decimal.Parse(Tax.Text),
                 Total    = decimal.Parse(Total.Text),
                 OrderID  = int.Parse(OrderID.Text)
             };
             sysmgr.DeletePurchaseOrder(int.Parse(VendorDropDown.SelectedValue), order, orderDetails);
         }, "", "SUCCESS: Order Deleted");
         VendorDropDown.SelectedIndex = 0;
         List <OrderDetailsViewModel> resetOrderDetails = new List <OrderDetailsViewModel>();
         VendorViewModel info = new VendorViewModel();
         SetVendor(info.VendorName, info.Contact, info.Phone, info.VendorID);
         OrderViewModel resetOrder = new OrderViewModel();
         SetOrder(resetOrder.Comment, resetOrder.SubTotal, resetOrder.Tax, resetOrder.Total, resetOrder.OrderID);
         OrderDetailsGrid.DataSource = resetOrderDetails;
         OrderDetailsGrid.DataBind();
     }
 }
 protected void SelectVendor_Click(object sender, EventArgs e)
 {
     if (VendorList.SelectedIndex == 0)
     {
         MessageUserControl.ShowInfo("Select Error", "You must select a vendor.");
         Subtotal.Text = "0.00";
         Tax.Text      = "0.00";
         Total.Text    = "0.00";
         Cancel_Click(sender, e);
     }
     else
     {
         MessageUserControl.TryRun(() =>
         {
             int vendorid = int.Parse(VendorList.SelectedValue);
             PurchasingController sysmgr = new PurchasingController();
             VendorInfo newinfo          = sysmgr.Vendor_Info(vendorid);
             VName.Text    = newinfo.VendorName;
             Contact.Text  = newinfo.Contact;
             Phone.Text    = newinfo.Phone;
             Comments.Text = newinfo.Comments;
             List <PurchaseOrder> order = sysmgr.Purchase_Order(vendorid);
             PurchaseOrderGV.DataSource = order;
             PurchaseOrderGV.DataBind();
             calculatePOValue();
             List <ProdCategoryInfo> inventory = sysmgr.ProdCategory_List(vendorid);
             ProdCatListDTO.DataSource         = inventory;
             ProdCatListDTO.DataBind();
         }, "Purchase Order Info", "Create purchase order for this vendor.");
     }
 }
예제 #6
0
    protected void PlaceButton_Click(object sender, EventArgs e)
    {
        PurchaseOrder purchaseorder = new PurchaseOrder();

        // get the vendorID from the DDL and set it into purchaseorder
        purchaseorder.VendorID = int.Parse(VendorDDL.SelectedValue);

        List <PurchaseOrderDetail> purchaseorderdetails = new List <PurchaseOrderDetail>();

        foreach (ListViewItem item in CurrentPOListView.Items)
        {
            PurchaseOrderDetail purchaseorderdetail = new PurchaseOrderDetail();

            purchaseorderdetail.PartID   = int.Parse((item.FindControl("PartIDLabel2") as Label).Text.ToString());
            purchaseorderdetail.Quantity = int.Parse((item.FindControl("QuantityTextBox2") as TextBox).Text.ToString());

            purchaseorderdetails.Add(purchaseorderdetail);
        }

        var sysmgr = new PurchasingController();

        MessageUserControl.TryRun(() =>
        {
            sysmgr.Place_PurchaseOrder(purchaseorder, purchaseorderdetails);
        }, "Success", "Purchase Order has been placed.");

        hideAll();
        VendorDDL.SelectedValue = "0";
    }
        protected void InventoryList_SelectedIndexChanged(object sender, EventArgs e)

        {
            GridView    grd      = (GridView)sender;
            GridViewRow agvrow   = grd.Rows[grd.SelectedIndex];
            int         prodid   = int.Parse((agvrow.FindControl("InvProductID") as Label).Text);
            int         vendorid = int.Parse(VendorList.SelectedValue);

            MessageUserControl.TryRun(() =>
            {
                PurchasingController sysmgr        = new PurchasingController();
                List <PurchaseOrder> purchaseorder = new List <PurchaseOrder>();
                loadPOGridView(purchaseorder);
                PurchaseOrder newitem = sysmgr.InventoryToPO(vendorid, prodid, purchaseorder);
                purchaseorder.Add(newitem);
                if (newitem == null)
                {
                    throw new BusinessRuleException("Input Error", new List <string> {
                        "This item is in the purchase order already. You can modify the Order Qty if you need."
                    });
                }
                PurchaseOrderGV.DataSource = purchaseorder;
                PurchaseOrderGV.DataBind();
                calculatePOValue();
            }, "Item added", "The item has been added to the purchase order.");
            //MessageUserControl.ShowInfo("The Product ID selected",
            //         (agvrow.FindControl("InvProductID") as Label).Text);
        }
예제 #8
0
    public void GetVendorInfo()
    {
        PurchasingController sysmgr = new PurchasingController();
        var po = sysmgr.GetVendorByID(int.Parse(VendorDropdown.SelectedValue));

        VendorName.Text     = "Vendor: " + po.Name;
        VendorLocation.Text = "Location: " + po.Province;
        VendorPhone.Text    = "Phone: " + po.Phone;
    }
예제 #9
0
    protected void GetSuggestedOrder_Click(object sender, EventArgs e)
    {
        int    purchaseOrder;
        string stringOrder = VendorDropdown.SelectedItem.Text;
        string cutString   = stringOrder.Substring(stringOrder.Length - 3);

        if (VendorDropdown.SelectedIndex != 0)
        {
            if (int.TryParse(cutString, out purchaseOrder))
            {
                PurchaseOrderDisplay.Text = purchaseOrder.ToString();
                PurchasingController       sysmgr = new PurchasingController();
                List <SuggestedOrderItems> list   = sysmgr.GetSuggestedOrders(purchaseOrder);
                SuggestedItems.DataSource = list;
                SuggestedItems.DataBind();

                List <NonSuggestedOrderItems> list2 = sysmgr.GetNonSuggestedItems(int.Parse(VendorDropdown.SelectedValue), purchaseOrder);
                NonSuggestedItems.DataSource = list2;
                NonSuggestedItems.DataBind();
                UpdateOrderLink.Text    = "Update Order";
                DeleteOrderLink.Enabled = true;
                PlaceOrderLink.Enabled  = true;
            }

            else
            {
                PurchaseOrderDisplay.Text = purchaseOrder.ToString();
                PurchasingController       sysmgr = new PurchasingController();
                List <SuggestedOrderItems> list   = sysmgr.ReviewSuggestedOrder(int.Parse(VendorDropdown.SelectedValue));
                SuggestedItems.DataSource = list;
                SuggestedItems.DataBind();
                foreach (GridViewRow gvr in SuggestedItems.Rows)
                {
                    (gvr.FindControl("RemoveItem") as Button).Visible = true;
                    (gvr.FindControl("RemoveItem") as Button).Enabled = false;
                }
                List <NonSuggestedOrderItems> list2 = sysmgr.GetNonSuggestedOrderItems(int.Parse(VendorDropdown.SelectedValue));
                foreach (GridViewRow gvr in NonSuggestedItems.Rows)
                {
                    (gvr.FindControl("AddToOrder") as Button).Enabled = false;
                    (gvr.FindControl("AddToOrder") as Button).Visible = true;
                }
                NonSuggestedItems.DataSource = list2;
                NonSuggestedItems.DataBind();
                DeleteOrderLink.Enabled = true;
                PlaceOrderLink.Enabled  = true;
            }

            GetVendorInfo();
        }

        else
        {
            MessageUserControl.ShowInfo("You need a select a vendor before you can make the transaction");
        }
    }
예제 #10
0
    protected void DeleteOrderLink_Click(object sender, EventArgs e)
    {
        string purchaseOrderIDString = PurchaseOrderDisplay.Text;
        string vendorID = VendorDropdown.Text;



        if (purchaseOrderIDString == "" || purchaseOrderIDString == "0")
        {
            MessageUserControl.ShowInfo("You must have purchase order first");
        }

        else if (vendorID == "")
        {
            MessageUserControl.ShowInfo("You must have a vendor.");
        }

        else if (SuggestedItems.Rows.Count == 0)
        {
            MessageUserControl.ShowInfo("You must have at least one item in order to delete the purchase order.");
        }

        else
        {
            MessageUserControl.TryRun(() =>
            {
                int PurchaseOrderID = int.Parse(purchaseOrderIDString);

                var stockItemID = int.Parse(purchaseOrderIDString);
                var stockItems  = new List <SuggestedOrderItems>();
                foreach (GridViewRow gvr in SuggestedItems.Rows)
                {
                    SuggestedOrderItems item = new SuggestedOrderItems();
                    item.ID = int.Parse(SuggestedItems.Rows[gvr.RowIndex].Cells[0].Text);
                    stockItems.Add(item);
                }
                PurchasingController sysmgr = new PurchasingController();
                sysmgr.DeleteOrder(PurchaseOrderID, stockItems);

                SuggestedItems.DataSource = null;
                SuggestedItems.DataBind();
                NonSuggestedItems.DataBind();
                GetSuggestedOrder.Text = "";
                VendorName.Text        = "";
                VendorPhone.Text       = "";
                UpdateOrderLink.Text   = "";
                RefreshVendorList("0");
                subtotalAmount.Text = "";
                gstAmount.Text      = "";
                totalAmount.Text    = "";
            }, "Purchase Order Deleted", "All purchase order details removed as well from that order");
        }
    }
        protected void Delete_Click(object sender, EventArgs e)
        {
            int vendorid = int.Parse(VendorList.SelectedValue.ToString());

            MessageUserControl.TryRun(() =>
            {
                PurchasingController sysmgr = new PurchasingController();
                sysmgr.DeletePO(vendorid);
            }, "Order Deleted", "The order has been deleted from the database.");

            Cancel_Click(sender, e);
        }
예제 #12
0
    protected void UpdateOrderLink_Click(object sender, EventArgs e)
    {
        decimal subtotal  = 0.00M;
        decimal unitPrice = 0.00M;
        decimal gst       = 0.00M;
        int     quantity  = 0;


        if (PurchaseOrderDisplay.Text == "")
        {
            MessageUserControl.ShowInfo("You need at least one item");
        }

        else if (VendorDropdown.SelectedValue == "")
        {
            MessageUserControl.ShowInfo("You need to select a Vendor!");
        }
        else
        {
            MessageUserControl.TryRun(() =>
            {
                int purchaseOrderID = int.Parse(PurchaseOrderDisplay.Text);
                int vendorID        = int.Parse(VendorDropdown.SelectedValue);

                var list = new List <SuggestedOrderItems>();
                foreach (GridViewRow gvr in SuggestedItems.Rows)
                {
                    SuggestedOrderItems updateditem = new SuggestedOrderItems();
                    updateditem.ID = (int.Parse(SuggestedItems.Rows[gvr.RowIndex].Cells[0].Text));
                    updateditem.PurchaseOrderQuantity = int.Parse((gvr.FindControl("PurchaseOrderQuantity") as TextBox).Text);
                    updateditem.UnitPrice             = decimal.Parse((gvr.FindControl("UnitPrice") as TextBox).Text);
                    unitPrice = updateditem.UnitPrice;
                    quantity  = updateditem.PurchaseOrderQuantity;
                    list.Add(updateditem);

                    subtotal = subtotal + (quantity * unitPrice);
                }

                PurchaseOrder updatedorder   = new PurchaseOrder();
                updatedorder.PurchaseOrderID = purchaseOrderID;
                updatedorder.SubTotal        = subtotal;
                updatedorder.TaxAmount       = gst;

                PurchasingController sysmgr = new PurchasingController();
                sysmgr.UpdatePurchaseOrder(list, updatedorder);
                subtotalAmount.Text = subtotal.ToString("C");
                gstAmount.Text      = subtotal.ToString("C");
                totalAmount.Text    = (subtotal + gst).ToString("C");
            }, "Updated", "The order has been updated accordingly");
        }
    }
예제 #13
0
    protected void StartOrderLink_Click(object sender, EventArgs e)
    {
        decimal subtotal            = 0.00M;
        decimal unitPrice           = 0.00M;
        decimal gst                 = 0.00M;
        int     quantity            = 0;
        string  stringOrder         = VendorDropdown.SelectedItem.Text;
        string  cutString           = stringOrder.Substring(stringOrder.Length - 3);
        string  purchaseorderstring = PurchaseOrderDisplay.Text;

        if (VendorDropdown.SelectedValue == null || VendorDropdown.SelectedIndex == 0)
        {
            MessageUserControl.ShowInfo("Please select a vendor to start order");
        }



        else
        {
            int vendorID = int.Parse(VendorDropdown.SelectedValue);
            MessageUserControl.TryRun(() =>
            {
                var list       = new List <SuggestedOrderItems>();
                var employeeID = int.Parse(EmployeeDropdown.SelectedValue);
                foreach (GridViewRow gvr in SuggestedItems.Rows)
                {
                    SuggestedOrderItems newItem = new SuggestedOrderItems();
                    newItem.ID = (int.Parse(SuggestedItems.Rows[gvr.RowIndex].Cells[0].Text));
                    newItem.PurchaseOrderQuantity = int.Parse((gvr.FindControl("PurchaseOrderQuanity") as TextBox).Text);
                    newItem.UnitPrice             = decimal.Parse((gvr.FindControl("UnitPrice") as TextBox).Text);
                    unitPrice = newItem.UnitPrice;
                    list.Add(newItem);

                    subtotal = subtotal + (quantity * unitPrice);
                }



                gst = subtotal * 0.05M;
                PurchasingController sysmgr = new PurchasingController();
                sysmgr.StartPurchaseOrder(list, employeeID, vendorID, gst, subtotal);
                subtotalAmount.Text = subtotal.ToString("C");
                gstAmount.Text      = gst.ToString("C");
                totalAmount.Text    = (gst + subtotal).ToString("C");
            }, "Created an Order", "Order has been established in the suggested order list");
        }
    }
예제 #14
0
        protected void Delete_Click(object sender, EventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                var poid = Convert.ToInt32((CurrentOrderGridView.Rows[0].FindControl("PurchaseOrderID") as HiddenField).Value);
                if (poid == 0)
                {
                    throw new Exception("empty");
                }
                FinalOrder purchase              = new FinalOrder();
                purchase.PurchaseOrderID         = Convert.ToInt32((CurrentOrderGridView.Rows[0].FindControl("PurchaseOrderID") as HiddenField).Value);
                purchase.VendorID                = int.Parse(VendorDropDown.SelectedValue);
                purchase.Subtotal                = decimal.Parse(Subtotal.Text.Substring(1));
                purchase.GST                     = decimal.Parse(GST.Text.Substring(1));
                List <CurrentOrder> orderDetails = new List <CurrentOrder>();

                foreach (GridViewRow row in CurrentOrderGridView.Rows)
                {
                    var partid = row.FindControl("PartID") as Label;
                    var qty    = row.FindControl("Qty") as TextBox;
                    var price  = row.FindControl("Price") as TextBox;

                    if (partid != null)
                    {
                        var details    = new CurrentOrder();
                        details.PartID = int.Parse(partid.Text);
                        details.Qty    = int.Parse(qty.Text);
                        details.Price  = decimal.Parse(price.Text);
                        orderDetails.Add(details);
                    }
                    else
                    {
                        throw new Exception("Empty");
                    }
                }

                var controller = new PurchasingController();
                controller.DeleteCurrentOrder(purchase);
                OrderDetailsPanel.Enabled    = false;
                OrderDetailsPanel.Visible    = false;
                VendorDropDown.SelectedIndex = 0;
                VendorName.Text = "";
                Location.Text   = "";
                Phone.Text      = "";
            }, "Success", "Order deleted");
        }
예제 #15
0
        protected void Update_Click(object sender, EventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                CalculateTotals();

                FinalOrder purchase            = new FinalOrder();
                purchase.PurchaseOrderID       = Convert.ToInt32((CurrentOrderGridView.Rows[0].FindControl("PurchaseOrderID") as HiddenField).Value);
                purchase.PurchaseOrderDetailID = Convert.ToInt32((CurrentOrderGridView.Rows[0].FindControl("PurchaseOrderDetailID") as HiddenField).Value);
                purchase.VendorID = int.Parse(VendorDropDown.SelectedValue);
                purchase.Subtotal = decimal.Parse(Subtotal.Text.Substring(1));
                purchase.GST      = decimal.Parse(GST.Text.Substring(1));
                List <CurrentOrder> orderDetails = new List <CurrentOrder>();

                foreach (GridViewRow row in CurrentOrderGridView.Rows)
                {
                    var partid = row.FindControl("PartID") as Label;
                    var qty    = row.FindControl("Qty") as TextBox;
                    var price  = row.FindControl("Price") as TextBox;
                    if (int.Parse(qty.Text) < 0)
                    {
                        throw new Exception("Quantity cannot be a negative number");
                    }
                    if (decimal.Parse(price.Text) <= 0)
                    {
                        throw new Exception("Price cannot be a negative number");
                    }
                    if (partid != null)
                    {
                        var details    = new CurrentOrder();
                        details.PartID = int.Parse(partid.Text);
                        details.Qty    = int.Parse(qty.Text);
                        details.Price  = decimal.Parse(price.Text);
                        orderDetails.Add(details);
                    }
                    else
                    {
                        throw new Exception("Empty");
                    }
                }

                var controller        = new PurchasingController();
                purchase.OrderDetails = orderDetails;
                controller.UpdateCurrentOrder(purchase);
            }, "Sucess", "Order updated.");
        }
예제 #16
0
 protected void Place_OnClick(object sender, EventArgs e)
 {
     //BLL Method will take vendorID, orderID and data -- data = PurchaseOrderDetails
     //Will set the OrderDate and a new PurchaseOrderNumber for the current order - BLL
     //Will update the QuantityOnOrder for each part item on the purchase order
     //OrderDate and PurchaseOrderNumber are found on the PurchaseOrder table
     //OrderDate = OrderDate = DateTime.Today
     //QuantityOnOrder is found on the Parts table
     MessageUserControl.TryRun(() =>
     {
         PurchaseOrderInfo order = BuildPurchaseOrderInfo();
         int employeeID          = int.Parse(Employee.Text);
         int vendorID            = int.Parse(VendorDropDownList.SelectedIndex.ToString());
         var controller          = new PurchasingController();
         controller.PlaceOrder(vendorID, employeeID, order);
     }, "Placed", "Purchase Order has been placed.");
 }
예제 #17
0
    protected void DeleteButton_Click(object sender, EventArgs e)
    {
        MessageUserControl.TryRun(() =>
        {
            int purchaseOrderID = 0;

            foreach (ListViewItem item in CurrentPOListView.Items)
            {
                purchaseOrderID = int.Parse((item.FindControl("PurchaseOrderIDLabel2") as Label).Text.ToString());
            }

            PurchasingController sysmgr = new PurchasingController();
            sysmgr.PurchaseOrder_Delete(purchaseOrderID);

            hideAll();
        }, "Removed", "Purchase order has been removed.");
    }
        OrderDetailsViewModel GetItemFromListToAddToOrderDetails(ListViewItem item)
        {
            PurchasingController sysmgr = new PurchasingController();
            decimal unitCost            = sysmgr.GetProductUnitCost(item.FindLabel("ProductIdLabel").Text.ToInt());
            var     product             = new OrderDetailsViewModel
            {
                ProductId     = item.FindLabel("ProductIdLabel").Text.ToInt(),
                ItemName      = item.FindLabel("ItemNameLabel").Text,
                Quantity      = 1,
                OrderUnitSize = item.FindLabel("OrderUnitSizeLabel").Text.ToInt(),
                UnitCost      = unitCost,
                ItemCost      = unitCost / item.FindLabel("OrderUnitSizeLabel").Text.ToInt(),
                ExtendedCost  = unitCost * 1
            };

            return(product);
        }
예제 #19
0
 protected void SuggestedItems_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (PurchaseOrderDisplay.Text != "")
     {
         if (e.CommandName.Equals("RemoveOrder"))
         {
             MessageUserControl.TryRun(() =>
             {
                 int purchaseorderid     = int.Parse(PurchaseOrderDisplay.Text);
                 int stockitemid         = int.Parse(e.CommandArgument.ToString());
                 PurchasingController po = new PurchasingController();
                 po.RemoveFromOrder(purchaseorderid, stockitemid);
                 SuggestedItems.DataBind();
                 NonSuggestedItems.DataBind();
             }, "Item Removed", "Item has been removed from purchase order");
         }
     }
 }
 protected void SelectVendor_Click(object sender, EventArgs e)
 {
     if (VendorDropDown.SelectedIndex == 0)
     {
         MessageUserControl.ShowInfo("", "Error: you must select a vendor");
     }
     else
     {
         var controller = new PurchasingController();
         var info       = controller.GetVendorByID(int.Parse(VendorDropDown.SelectedValue));
         SetVendor(info.VendorName, info.Contact, info.Phone, info.VendorID);
         var order = controller.GetActiveOrder(int.Parse(VendorDropDown.SelectedValue));
         SetOrder(order.Comment, order.SubTotal, order.Tax, order.Total, order.OrderID);
         List <OrderDetailsViewModel> orderDetail = controller.GetActiveOrderDetails(int.Parse(VendorDropDown.SelectedValue));
         OrderDetailsGrid.DataSource = orderDetail;
         OrderDetailsGrid.DataBind();
     }
 }
 protected void RefreshPrice_Click(object sender, EventArgs e)
 {
     MessageUserControl.TryRun(() =>
     {
         int index;
         LinkButton button                = (LinkButton)sender;
         GridViewRow gvr                  = (GridViewRow)button.Parent.Parent;
         index                            = gvr.RowIndex;
         PurchasingController sysmgr      = new PurchasingController();
         List <PurchaseOrder> refreshlist = new List <PurchaseOrder>();
         loadPOGridView(refreshlist);
         refreshlist[index].PerItemCost  = refreshlist[index].UnitCost / refreshlist[index].UnitSize;
         refreshlist[index].ExtendedCost = refreshlist[index].UnitCost * refreshlist[index].OrderQty;
         int prodid = refreshlist[index].ProductID;
         refreshlist[index].Warning = sysmgr.Warning(prodid, refreshlist);
         PurchaseOrderGV.DataSource = refreshlist;
         PurchaseOrderGV.DataBind();
         calculatePOValue();
     }, "Refresh", "The purchase order is updated.");
 }
예제 #22
0
    protected void UpdateButton_Click(object sender, EventArgs e)
    {
        PurchaseOrder purchaseorder = new PurchaseOrder();

        // get the vendorID from the DDL and set it into purchaseorder
        purchaseorder.VendorID = int.Parse(VendorDDL.SelectedValue);

        List <PurchaseOrderDetail> purchaseorderdetails = new List <PurchaseOrderDetail>();

        foreach (ListViewItem item in CurrentPOListView.Items)
        {
            PurchaseOrderDetail purchaseorderdetail = new PurchaseOrderDetail();

            purchaseorderdetail.PurchaseOrderDetailID = int.Parse((item.FindControl("PurchaseOrderDetailIDLabel2") as Label).Text.ToString());
            purchaseorderdetail.PartID        = int.Parse((item.FindControl("PartIDLabel2") as Label).Text.ToString());
            purchaseorderdetail.Quantity      = int.Parse((item.FindControl("QuantityTextBox2") as TextBox).Text.ToString());
            purchaseorderdetail.PurchasePrice = decimal.Parse((item.FindControl("PurchasePriceTextBox2") as TextBox).Text.ToString());

            purchaseorderdetails.Add(purchaseorderdetail);
        }

        var sysmgr = new PurchasingController();

        MessageUserControl.TryRun(() =>
        {
            sysmgr.Update_PurchaseOrder(purchaseorder, purchaseorderdetails);

            // rebind the current PO
            CurrentPOListView.DataSourceID = "CurrentPOODS";
            CurrentPOListView.DataBind();

            // rebind the totals for the current PO
            TotalsGridView.DataBind();

            // rebind the current inventory list
            CurrentInventoryListView.DataSourceID = "CurrentInventoryODS";
            CurrentInventoryListView.DataBind();
        }, "Success", "Purchase Order item(s) quantity and purchase price updated");
    }
예제 #23
0
        protected void DeleteOrder_Click(object sender, EventArgs e)
        {
            MessageUserControl.TryRun(() => {
                var controller = new PurchasingController();
                var order      = controller.GetOrder(int.Parse(VendorDropDown.SelectedValue.ToString()));

                controller.DeleteOrder(order);
                Subtotal.Text                = "0";
                Tax.Text                     = "0";
                Total.Text                   = "0";
                VendorRepeater.Visible       = false;
                OrderGridview.Visible        = false;
                SaveOrder.Visible            = false;
                PlaceOrder.Visible           = false;
                DeleteOrder.Visible          = false;
                VendorDropDown.SelectedIndex = 0;
                VendorComments.Text          = "";
                VendorContact.Text           = "";
                VendorName.Text              = "";
                VendorPhone.Text             = "";
                messenger.Text               = "";
            }, "Success", "Order successfully deleted");
        }
예제 #24
0
        protected void GetPurchaseOrder_Click(object sender, EventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                bool is_Selected = VendorDropDown.SelectedIndex > 0;

                if (is_Selected)
                {
                    //get customer summary information
                    var controller  = new PurchasingController();
                    var info        = controller.GetVendorSummary(int.Parse(VendorDropDown.SelectedValue));
                    VendorName.Text = info.Name;
                    Location.Text   = info.Location;
                    Phone.Text      = info.Phone;

                    OrderDetailsPanel.Enabled = true;
                    OrderDetailsPanel.Visible = true;


                    // Populate GridViews
                    var currentOrderDetails         = controller.GetCurrentOrder((int.Parse(VendorDropDown.SelectedValue)), EmployeeName.Text);
                    CurrentOrderGridView.DataSource = currentOrderDetails;
                    CurrentOrderGridView.DataBind();

                    var currentInventoryDetails         = controller.GenInventoryForVendor(int.Parse(VendorDropDown.SelectedValue));
                    CurrentInventoryGridView.DataSource = currentInventoryDetails;
                    CurrentInventoryGridView.DataBind();

                    //calculate Totals
                    CalculateTotals();
                }
                else
                {
                    throw new Exception("Please select a vendor");
                }
            }, "Success", "Order found!");
        }
예제 #25
0
        protected void Update_OnClick(object sender, EventArgs e)
        {
            //Will do a bulk update processing of the currently displayed purchase order
            //Will update the Quantity and the PurchasePrice

            MessageUserControl.TryRun(() =>
            {
                PurchaseOrderInfo order = BuildPurchaseOrderInfo();
                int employeeID          = int.Parse(Employee.Text);
                var controller          = new PurchasingController();
                controller.UpdateOrder(order, employeeID);

                decimal subtotal  = order.PurchaseOrderDetails.Sum(x => x.Quantity * x.PurchasePrice);
                Subtotal.Text     = subtotal.ToString();
                decimal taxAmount = (0.05m * subtotal);
                GST.Text          = taxAmount.ToString();
                decimal total     = subtotal + taxAmount;
                Total.Text        = total.ToString();
            }, "Updated", "Purchase Order has been updated");
            ActivePurchaseOrderDetailsGridView.DataSource = PartsFromPurchaseOrderDetailsGridView();
            ActivePurchaseOrderDetailsGridView.DataBind();
            InventoryItemsGridView.DataSource = PartsFromInventoryItemsGridView(InventoryItemsGridView);
            InventoryItemsGridView.DataBind();
        }
예제 #26
0
    protected void NonSuggestedItems_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int vendorID        = int.Parse(VendorDropdown.SelectedValue);
        int purchaseOrderID = int.Parse(PurchaseOrderDisplay.Text);

        if (purchaseOrderID == 0)
        {
            MessageUserControl.ShowInfo("The Purchase Order ID doesn't exist.");
        }

        else if (vendorID == 0)
        {
            MessageUserControl.ShowInfo("The Vendor has not been selected. Pick a vendor.");
        }

        else if (e.CommandName.Equals("AddToOrder"))
        {
            MessageUserControl.TryRun(() =>
            {
                purchaseOrderID = int.Parse(PurchaseOrderDisplay.Text);
                int stockItemID = int.Parse(e.CommandArgument.ToString());
                int POQTY       = 1;
                //int POQTY = int.Parse((SuggestedItems.FindControl("PurchaseOrderQuantity") as TextBox).Text);
                PurchaseOrderDetail addpod  = new PurchaseOrderDetail();
                addpod.PurchaseOrderID      = purchaseOrderID;
                addpod.StockItemID          = stockItemID;
                addpod.Quantity             = POQTY;
                PurchasingController sysmgr = new PurchasingController();
                sysmgr.AddToOrder(addpod);
                SuggestedItems.DataSource = sysmgr.GetOrder(addpod.PurchaseOrderID);
                SuggestedItems.DataBind();
                NonSuggestedItems.DataSource = sysmgr.GetNonSuggestedItems(addpod.PurchaseOrderID, vendorID);
                NonSuggestedItems.DataBind();
            }, "Item Added", "Item has been added to the current purchase order.");
        }
    }
예제 #27
0
        protected void Get_Create_PO_OnClick(object sender, EventArgs e)
        {
            int employeeID = int.Parse(Employee.Text);

            PurchasingController vendorController = new PurchasingController();
            var vendor   = vendorController.Vendor_Get(int.Parse(VendorDropDownList.SelectedValue));
            int vendorID = int.Parse(VendorDropDownList.SelectedValue);

            VendorName.Text = vendor.VendorName;
            Phone.Text      = vendor.Phone;
            Location.Text   = vendor.City;

            PurchasingController purchaseOrderController = new PurchasingController();
            var purchaseOrderInfo = purchaseOrderController.GetActivePurchaseOrder(vendorID);

            if (purchaseOrderInfo == null)
            {
                purchaseOrderController.CreateSuggestedPurchaseOrder(vendorID, employeeID);
                purchaseOrderInfo = purchaseOrderController.GetActivePurchaseOrder(vendorID);
            }
            ActivePurchaseOrderDetailsGridView.DataSource = purchaseOrderController.GetCurrentActivePurchaseOrderDetails(vendorID);
            ActivePurchaseOrderDetailsGridView.DataBind();

            //Subtotal.Text = purchaseOrderInfo.SubTotal.ToString("C");
            Subtotal.Text = purchaseOrderInfo.SubTotal.ToString();
            //GST.Text = purchaseOrderInfo.TaxAmount.ToString("C");
            GST.Text = purchaseOrderInfo.TaxAmount.ToString();
            //Total.Text = (purchaseOrderInfo.SubTotal + purchaseOrderInfo.TaxAmount).ToString("C");
            Total.Text = (purchaseOrderInfo.SubTotal + purchaseOrderInfo.TaxAmount).ToString();

            PurchasingController inventoryController = new PurchasingController();
            var unorderedInventory = inventoryController.GetVendorStockItemsNotOnOrder(vendorID, purchaseOrderInfo);

            InventoryItemsGridView.DataSource = unorderedInventory;
            InventoryItemsGridView.DataBind();
        }
예제 #28
0
        protected void VendorSelect_Click(object sender, EventArgs e)
        {
            if (int.Parse(VendorDropDown.SelectedValue.ToString()) != 0)
            {
                var controller = new PurchasingController();
                var info       = controller.GetVendorInfo(int.Parse(VendorDropDown.SelectedValue.ToString()));
                VendorName.Text    = info.Name;
                VendorContact.Text = info.Address + ", " + info.City + ", " + info.PostalCode;
                VendorPhone.Text   = info.Phone;
                var info2 = controller.GetOrder(int.Parse(VendorDropDown.SelectedValue.ToString()));
                if (info2 != null)
                {
                    if (info2.OrderNumber != null)
                    {
                        PlaceOrder.Visible     = false;
                        SaveOrder.Visible      = false;
                        DeleteOrder.Visible    = true;
                        messenger.Text         = $"Order already placed in {info2.OrderDate}. OrderNumber: {info2.OrderNumber}";
                        OrderGridview.Enabled  = false;
                        VendorRepeater.Visible = false;
                    }
                    else
                    {
                        OrderGridview.Enabled  = true;
                        VendorRepeater.Visible = true;
                        DeleteOrder.Visible    = true;
                        PlaceOrder.Visible     = true;
                        SaveOrder.Visible      = true;

                        messenger.Text = "";
                    }

                    Subtotal.Text = Math.Round(info2.SubTotal, 2).ToString();
                    Tax.Text      = Math.Round(info2.Tax, 2).ToString();
                    Total.Text    = Math.Round(info2.Total, 2).ToString();
                    OrderID       = info2.OrderID;
                    if (!string.IsNullOrEmpty(info2.VendorComment))
                    {
                        VendorComments.Text = info2.VendorComment;
                    }
                    var x = info2.OrderDetails;
                    foreach (var i in x)
                    {
                        i.ExtendedCost = Math.Round(i.ExtendedCost, 2);
                        i.ItemPrice    = Math.Round(i.ItemPrice, 2);
                        i.ItemCost     = Math.Round(i.ItemCost, 2);
                        i.UnitCost     = Math.Round(i.UnitCost, 2);
                    }
                    OrderGridview.DataSource = x;
                    OrderGridview.DataBind();
                }
                else
                {
                    Subtotal.Text            = "0";
                    Tax.Text                 = "0";
                    Total.Text               = "0";
                    VendorComments.Text      = "";
                    OrderGridview.DataSource = null;
                    OrderGridview.DataBind();
                    VendorRepeater.Visible = true;
                    OrderGridview.Enabled  = true;
                    messenger.Text         = "";
                    OrderID             = 0;
                    DeleteOrder.Visible = false;
                    PlaceOrder.Visible  = true;
                    SaveOrder.Visible   = true;
                }

                var info3 = controller.GetVendorProducts(int.Parse(VendorDropDown.SelectedValue.ToString()));
                if (info3 != null)
                {
                    VendorRepeater.DataSource = info3;
                    VendorRepeater.DataBind();
                    int q = 0;
                    foreach (var i in info3) // binding the gridviews of repeater
                    {
                        GridView a = VendorRepeater.Items[q].FindControl("VendorProductsGridview") as GridView;
                        a.DataSource = i.Items;
                        a.DataBind();
                        q++;
                    }
                }

                OrderGridview.Visible = true;
            }
        }
 public TestPurchasingController()
 {
     controller  = new PurchasingController(repository);
     pagingModel = new PagingModel();
 }
예제 #30
0
    protected void GetCreatePO_Click(object sender, EventArgs e)
    {
        if (VendorDDL.SelectedValue == "0")
        {
            MessageUserControl.ShowInfo("You must first select a vendor from the list.");
        }
        else
        {
            // only show the GridViews, Listviews and buttons on click
            showAll();

            // set the current active order ODS to the listview
            CurrentPOListView.DataSourceID = "CurrentPOODS";
            CurrentPOListView.DataBind();

            if (CurrentPOListView.Items.Count == 0) // then create the suggested putchase order
            {
                // set the suggested order ODS to the listview and bind it
                CurrentPOListView.DataSourceID = "SuggestedPOODS";
                CurrentPOListView.DataBind();

                PurchaseOrder purchaseorder = new PurchaseOrder();

                // get the vendorID from the DDL and set it into purchaseorder
                purchaseorder.VendorID = int.Parse(VendorDDL.SelectedValue);

                var usersysmgr = new UserManager();

                int employeeId = usersysmgr.Get_EmployeeId(User.Identity.Name);

                // create new list to store the purchase order details
                List <PurchaseOrderDetail> purchaseorderdetails = new List <PurchaseOrderDetail>();

                // go through the needed rows of the listview to get the data needed for suggested order and add it to the purchaseorderdetails list
                foreach (ListViewItem item in CurrentPOListView.Items)
                {
                    PurchaseOrderDetail purchaseorderdetail = new PurchaseOrderDetail();

                    purchaseorderdetail.PartID        = int.Parse((item.FindControl("PartIDLabel2") as Label).Text.ToString());
                    purchaseorderdetail.Quantity      = int.Parse((item.FindControl("QuantityTextBox2") as TextBox).Text.ToString());
                    purchaseorderdetail.PurchasePrice = decimal.Parse((item.FindControl("PurchasePriceTextBox2") as TextBox).Text.ToString());

                    purchaseorderdetails.Add(purchaseorderdetail);
                }


                // pass the data to the controller to create the suggested order
                var sysmgr = new PurchasingController();
                MessageUserControl.TryRun(() =>
                {
                    sysmgr.NewSuggestedOrder(purchaseorder, purchaseorderdetails, employeeId);
                }, "Success", "Suggested purchase order created.");

                TotalsGridView.DataBind();

                PurchaseOrder purchaseordertotals = new PurchaseOrder();

                // pass the subtotal, taxamount to purchaseorder here
                purchaseordertotals.SubTotal  = Math.Round(decimal.Parse(TotalsGridView.DataKeys[0].Values[0].ToString()), 2);
                purchaseordertotals.TaxAmount = Math.Round(decimal.Parse(TotalsGridView.DataKeys[0].Values[1].ToString()), 2);

                // pass the totals to the controller to update the suggested order
                var newsysmgr = new PurchasingController();
                MessageUserControl.TryRun(() =>
                {
                    newsysmgr.UpdateTotalsSuggestedOrder(purchaseorder, purchaseordertotals);
                }, "Success", "Suggested purchase order totals updated.");

                // Bind the new current inventory for the suggested order
                CurrentInventoryListView.DataSourceID = "CurrentInventoryODS";
                CurrentInventoryListView.DataBind();

                // this is for if the vendor has no parts available to be automatically put on the suggested purchase order
                if (CurrentPOListView.Items.Count == 0)
                {
                    MessageUserControl.ShowInfo("Information", "No active purchase order found. A suggested purchase order has been created, however, no parts from this vendor are eligible for the suggested purchase order.");
                }
                else // else, the suggested parts will be shown on the suggested order
                {
                    MessageUserControl.ShowInfo("Information", "No active purchase order found. A suggested purchase order has been created.");
                }
            }
            else
            {
                // Bind the new current inventory for the current active order
                CurrentInventoryListView.DataSourceID = "CurrentInventoryODS";
                CurrentInventoryListView.DataBind();

                MessageUserControl.ShowInfo("Information", "Current active order found.");
            }
        }
    }