protected void ViewOrder_Click(object sender, EventArgs e)
    {
        int poID = 0;
        //int poNumber = 0;

        GridViewRow item = (GridViewRow)((LinkButton)sender).NamingContainer; // gets info from one row.

        poID = int.Parse(((Label)item.FindControl("PurchaseOrderId")).Text);

        ReceivingController           sysmng          = new ReceivingController();
        VendorPurchaseOrderDetailsDTO vendorPODetails = sysmng.GetPODetails(poID);

        lblPONumber.Text    = vendorPODetails.PurchaseOrderNumber.ToString();
        lblVendorName.Text  = vendorPODetails.VendorName;
        lblVendorPhone.Text = vendorPODetails.VendorPhone;
        //DataSource for the GridView
        PODetailsGV.DataSource = vendorPODetails.PODetails;
        PODetailsGV.DataBind();
    }
Ejemplo n.º 2
0
        public VendorPurchaseOrderDetailsDTO GetPODetails(int poID)
        {
            using (var context = new eBikeContext())
            {
                VendorPurchaseOrderDetailsDTO   vendorPODetails = new VendorPurchaseOrderDetailsDTO();
                List <PurchaseOrderDetailsPOCO> poDetails       = new List <PurchaseOrderDetailsPOCO>();

                var poResults = from pod in context.PurchaseOrderDetails
                                orderby pod.PartID ascending
                                where pod.PurchaseOrderID.Equals(poID)
                                select new PurchaseOrderDetailsPOCO
                {
                    PurchaseOrderID       = pod.PurchaseOrderID,
                    PurchaseOrderDetailID = pod.PurchaseOrderDetailID,
                    PartID              = pod.PartID,
                    Description         = pod.Part.Description,
                    QuantityOnOrder     = pod.Quantity,
                    QuantityOutstanding = pod.ReceiveOrderDetails.Select(rod => rod.QuantityReceived).Any() ? pod.Quantity - pod.ReceiveOrderDetails.Sum(rod => rod.QuantityReceived) : pod.Quantity,
                };
                poDetails = poResults.ToList();

                var vendorResults = (from po in context.PurchaseOrders
                                     where po.PurchaseOrderID.Equals(poID)
                                     select new
                {
                    poNum = po.PurchaseOrderNumber,
                    Phone = po.Vendor.Phone,
                    Name = po.Vendor.VendorName
                }).FirstOrDefault();                       //return first record from return result(using it when have only one item to return)

                vendorPODetails.PurchaseOrderNumber = vendorResults.poNum;
                vendorPODetails.VendorPhone         = vendorResults.Phone;
                vendorPODetails.VendorName          = vendorResults.Name;

                vendorPODetails.PODetails = poDetails;

                return(vendorPODetails);
            }
        }