public static void UpdatePurchaseItem(Item_PurchaseOrder pItem)
 {
     using (TransactionScope ts = new TransactionScope())
     {
         StationeryEntities entities = new StationeryEntities();
         Item_PurchaseOrder item     = entities.Item_PurchaseOrder.Where(x => x.ItemCode == pItem.ItemCode &&
                                                                         x.PurchaseOrderID == pItem.PurchaseOrderID).First();
         item.OrderQty = pItem.OrderQty;
         item.Amount   = pItem.Amount;
         entities.SaveChanges();
         ts.Complete();
     }
 }
Exemple #2
0
    protected void GvPurchaseDetail_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        // Retrieve the row being edited.
        decimal     price, amount;
        int         qty;
        int         index  = GvPurchaseDetail.EditIndex;
        GridViewRow row    = GvPurchaseDetail.Rows[index];
        TextBox     qtyTxt = row.FindControl("txtorderQty") as TextBox;

        bool ok = int.TryParse(qtyTxt.Text, NumberStyles.Currency,
                               CultureInfo.CurrentCulture.NumberFormat, out qty);

        Label priceLbl = (Label)GvPurchaseDetail.Rows[e.RowIndex].FindControl("lblPrice");

        ok = decimal.TryParse(priceLbl.Text, NumberStyles.Currency,
                              CultureInfo.CurrentCulture.NumberFormat, out price);

        Label amountLbl = (Label)GvPurchaseDetail.Rows[e.RowIndex].FindControl("lblAmount");

        ok = decimal.TryParse(amountLbl.Text, NumberStyles.Currency,
                              CultureInfo.CurrentCulture.NumberFormat, out amount);

        Label itemLbl = (Label)GvPurchaseDetail.Rows[e.RowIndex].FindControl("lblItemCode");

        amount         = qty * price;
        amountLbl.Text = String.Format("{0:C}", amount);

        Item_PurchaseOrder item = new Item_PurchaseOrder();

        item.Amount          = amount;
        item.OrderQty        = qty;
        item.PurchaseOrderID = orderid;
        item.ItemCode        = itemLbl.Text;
        pCtrlr.UpdatePurchaseItem(item);
        GvPurchaseDetail.EditIndex = -1;
        BindGrid();
        ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox",
                                           "<script language='javascript'>alert('" + "Item Updated!" + "');</script>");
    }
    protected void BtnProceed_Click(object sender, EventArgs e)

    {
        if (Page.IsValid)
        {
            Dictionary <PurchaseOrder, List <Item_PurchaseOrder> > purchaseItemList = new Dictionary <PurchaseOrder, List <Item_PurchaseOrder> >(pComparer);

            for (int i = 0; i < GvreorderItems.Rows.Count; i++)
            {
                PurchaseOrder pOrder = new PurchaseOrder();

                GridViewRow gvRow = GvreorderItems.Rows[i];
                if (((CheckBox)gvRow.FindControl("CbxItem")).Checked)
                {
                    DropDownList splrControl = (DropDownList)gvRow.FindControl("ddlSupplierList");
                    ListItem     suplierInfo = splrControl.SelectedItem;
                    pOrder.SupplierCode = suplierInfo.Value;
                    Label amntlbl = (Label)gvRow.FindControl("lblAmount");
                    if (!purchaseItemList.ContainsKey(pOrder))
                    {
                        pOrder.OrderDate    = DateTime.Now.Date;
                        pOrder.ApprovedBy   = Convert.ToInt32(ddlsupervisorNames.SelectedItem.Value);
                        pOrder.ExpectedDate = DateTime.ParseExact(txtDate.Text, "d", CultureInfo.InvariantCulture);
                        pOrder.Status       = "Pending";

                        pOrder.TotalAmount += decimal.Parse(amntlbl.Text, System.Globalization.NumberStyles.Currency);
                        pOrder.RequestedBy  = (int)Session["empID"];
                        purchaseItemList.Add(pOrder, null);
                    }

                    Item_PurchaseOrder pItems = new Item_PurchaseOrder();
                    Label itemlbl             = (Label)gvRow.FindControl("lblItemCode");
                    pItems.ItemCode        = itemlbl.Text;
                    pItems.PurchaseOrderID = pOrder.PurchaseOrderID;
                    TextBox qtyTxtBx = (TextBox)gvRow.FindControl("txtReorderQty");
                    pItems.OrderQty = Convert.ToInt32(qtyTxtBx.Text);
                    Label priceLbl = (Label)gvRow.FindControl("lblPrice");
                    pItems.ItemCode = itemlbl.Text;
                    pItems.Amount   = pItems.OrderQty * decimal.Parse(priceLbl.Text, System.Globalization.NumberStyles.Currency);

                    List <Item_PurchaseOrder> ItemList = null;
                    if (purchaseItemList[pOrder] != null)
                    {
                        ItemList = purchaseItemList[pOrder];
                        ItemList.Add(pItems);
                        purchaseItemList[pOrder] = ItemList;
                    }
                    else
                    {
                        ItemList = new List <Item_PurchaseOrder>();
                        ItemList.Add(pItems);
                        purchaseItemList[pOrder] = ItemList;
                    }
                }
            }
            if (purchaseItemList.Count == 0)
            {
                ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox",
                                                   "<script language='javascript'>alert('" + "Please select items first!" + "');</script>");
            }
            else
            {
                pCtrlr.AddPurchaseOrder(purchaseItemList);
                Session["ReorderItem"] = null;
                ClientScript.RegisterStartupScript(Page.GetType(), "MessageBox",
                                                   "<script language='javascript'>alert('" + "Purchase Done, Awaiting Approval!" + "');</script>");
                Response.Redirect(LoginController.PurchaseOrderListURI);
            }
        }
    }
Exemple #4
0
 public void UpdatePurchaseItem(Item_PurchaseOrder pItem)
 {
     EFBroker_PurchaseOrder.UpdatePurchaseItem(pItem);
     return;
 }
Exemple #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string itemCode     = Request.QueryString["itemCode"];
        string adjustment   = "Adjustment";  //strings for stock card transaction type
        string disbursement = "Disbursement";
        string purchase     = "Purchase";

        if (!ValidatorUtil.isEmpty(itemCode))
        {
            Item             item        = EFBroker_Item.GetItembyItemCode(itemCode);
            string           currentYear = DateTime.Now.Year.ToString();
            List <PriceList> plList      = EFBroker_PriceList.GetPriceListByItemCode(itemCode).Where(c => c.TenderYear == currentYear).ToList();
            if (item != null && plList.Count > 0)
            {
                lblItemCode.Text = item.ItemCode;
                lblItemName.Text = item.Description;
                lblBin.Text      = item.Bin;
                lblUom.Text      = item.UnitOfMeasure;

                foreach (PriceList pl in plList)
                {
                    switch (pl.SupplierRank)
                    {
                    case 1:
                        lblSupp1.Text = pl.SupplierCode;
                        break;

                    case 2:
                        lblSupp2.Text = pl.SupplierCode;
                        break;

                    case 3:
                        lblSupp3.Text = pl.SupplierCode;
                        break;
                    }
                }

                if (plList.Count < 3)   // N/A on supplier labels if there are less than 3 suppliers
                {
                    lblSupp3.Text = "N/A";
                    if (plList.Count < 2)
                    {
                        lblSupp2.Text = "N/A";
                    }
                }

                List <StockCard>           scList        = EFBroker_StockCard.GetStockCardsByItemCode(itemCode);
                List <StockCardDisplayRow> scDisplayList = new List <StockCardDisplayRow>();

                foreach (StockCard sc in scList)
                {
                    if (sc.TransactionType == adjustment || sc.TransactionType == disbursement || sc.TransactionType == purchase)
                    {
                        //Possible to display 3 types of stock card entries (each accessing different tables)
                        StockCardDisplayRow scdr = new StockCardDisplayRow();
                        if (sc.TransactionType == adjustment)
                        {
                            Discrepency d = EFBroker_Discrepancy.GetDiscrepancyById((int)sc.TransactionDetailID);
                            scdr.TransDate    = ((DateTime)d.Date).ToShortDateString();
                            scdr.TransDetails = "Adjustment ID. " + sc.TransactionDetailID;
                            scdr.Quantity     = "ADJ " + GetQuantityString((int)sc.Qty);
                        }
                        else if (sc.TransactionType == purchase)
                        {
                            PurchaseOrder po = EFBroker_PurchaseOrder.GetPurchaseOrderById((int)sc.TransactionDetailID);
                            scdr.TransDate    = ((DateTime)po.ExpectedDate).ToShortDateString();
                            scdr.TransDetails = "Supplier - " + po.SupplierCode;
                            Item_PurchaseOrder ipo = EFBroker_PurchaseOrder.GetPurchaseOrderItem(po.PurchaseOrderID, itemCode);
                            scdr.Quantity = GetQuantityString((int)sc.Qty);
                        }
                        else if (sc.TransactionType == disbursement)
                        {
                            Disbursement db = EFBroker_Disbursement.GetDisbursmentbyDisbID((int)sc.TransactionDetailID);
                            scdr.TransDate    = ((DateTime)db.CollectionDate).ToShortDateString();
                            scdr.TransDetails = EFBroker_DeptEmployee.GetDepartByDepCode(db.DeptCode).DeptName;
                            scdr.Quantity     = GetQuantityString((int)sc.Qty);
                        }
                        scdr.Balance = (int)sc.Balance;
                        scDisplayList.Add(scdr);
                    }
                }

                gvTransactions.DataSource = scDisplayList;
                gvTransactions.DataBind();
            }
            else    //if item is not found or no entries found in price list table
            {
                Response.Redirect(LoginController.StationeryCatalogueURI);
            }
        }
        else   //if there is no itemCode in querystring
        {
            Response.Redirect(LoginController.StationeryCatalogueURI);
        }
    }