/// <summary> /// Creates a list of PurchaseBoxquantity objects and returns the list of objects /// </summary> /// <returns></returns> List <PurchaseBoxQuantity> GetPurchaseBoxQuantities() { List <PurchaseBoxQuantity> purchaseBoxQuantities = new List <PurchaseBoxQuantity>(); List <Purchase> purchases = (List <Purchase>) Controller <RosePurchaseManagementEntities, Purchase> .GetEntitiesWithIncluded("BoxPurchases", "RoseSize", "Farm", "Invoice", "Warehouse"); List <Box> boxes = (List <Box>) Controller <RosePurchaseManagementEntities, Box> .GetEntitiesWithIncluded("BoxPurchases"); foreach (Purchase purchase in purchases) { foreach (BoxPurchase boxPurchase in purchase.BoxPurchases) { PurchaseBoxQuantity purchaseBoxQuantity = new PurchaseBoxQuantity() { PurchaseID = purchase.PurchaseID, FarmName = purchase.Farm.FarmName, Price = purchase.Price_per_stem, InvoiceNumber = purchase.InvoiceID, WarehouseName = purchase.Warehouse.WarehouseName, BoxQuantity = boxPurchase.Quantity }; using (RosePurchaseManagementEntities context = new RosePurchaseManagementEntities()) { var roseName = context.RoseSizes.Include("Rose").Where(x => x.RoseSizeID == purchase.RoseSizeID).Select(r => r.Rose.RoseName).FirstOrDefault(); purchaseBoxQuantity.RoseName = roseName; var roseSize = context.RoseSizes.Include("Size").Where(r => r.RoseSizeID == purchase.RoseSizeID).Select(s => s.Size.SizeName).FirstOrDefault(); purchaseBoxQuantity.RoseSize = roseSize; var boxType = context.BoxPurchases.Include("Box").Where(x => x.BoxID == boxPurchase.BoxID).Select(t => t.Box.BoxName).FirstOrDefault(); purchaseBoxQuantity.BoxName = boxType; } purchaseBoxQuantities.Add(purchaseBoxQuantity); } } return(purchaseBoxQuantities); }
/// <summary> /// Display PurchaseDatgridview /// </summary> public void DisplayPurchase() { //Create lsit of box Purchase Quatity List <PurchaseBoxQuantity> purchaseBoxQuantities = new List <PurchaseBoxQuantity>(); //Get each purchases var purchases = Controller <RosePurchaseManagementEntities, Purchase> .GetEntitiesWithIncluded("BoxPurchases", "RoseSize", "Farm", "Invoice", "Warehouse"); List <Box> boxes = (List <Box>) Controller <RosePurchaseManagementEntities, Box> .GetEntitiesWithIncluded("BoxPurchases"); //Check checkbox is checked or not if (checkBoxSearch.Checked) { purchases = purchases.Where(x => x.Invoice.Date >= dateTimePickerStartDate.Value).Where(x => x.Invoice.Date <= dateTimePickerEndDate.Value); } //Set up properties for each PurchaseBoxQuantity object foreach (Purchase purchase in purchases) { foreach (BoxPurchase boxPurchase in purchase.BoxPurchases) { PurchaseBoxQuantity purchaseBoxQuantity = new PurchaseBoxQuantity() { PurchaseID = purchase.PurchaseID, FarmName = purchase.Farm.FarmName, Price = purchase.Price_per_stem, InvoiceNumber = purchase.InvoiceID, WarehouseName = purchase.Warehouse.WarehouseName, Total = purchase.Invoice.TotalAmount, Date = purchase.Invoice.Date, BoxQuantity = boxPurchase.Quantity }; //GEt each BoxPurchase based on purchase quantity using (RosePurchaseManagementEntities context = new RosePurchaseManagementEntities()) { var roseName = context.RoseSizes.Include("Rose").Where(x => x.RoseSizeID == purchase.RoseSizeID).Select(r => r.Rose.RoseName).FirstOrDefault(); purchaseBoxQuantity.RoseName = roseName; var boxType = context.BoxPurchases.Include("Box").Where(x => x.BoxID == boxPurchase.BoxID).Select(t => t.Box.BoxName).FirstOrDefault(); purchaseBoxQuantity.BoxName = boxType; } purchaseBoxQuantities.Add(purchaseBoxQuantity); } } //Getting the count var count = purchaseBoxQuantities.Count(); labelCount.Text = count.ToString(); if (count != 0) { //Setting up th average var sum = purchaseBoxQuantities.Select(x => x.Total).Average(); labelAveragePrice.Text = sum.ToString(); } else { labelAveragePrice.Text = ""; } //set up datasource of dataGridViewPurchase dataGridViewPurchase.DataSource = purchaseBoxQuantities; }