public ActionResult Products() { ProductHouseModel model = new ProductHouseModel(); List<ProductToProductLineModel> phModel = new List<ProductToProductLineModel>(); using (var mm = new MaterialsManager()) { List<Product> products = mm.ActiveProducts().ToList(); List<ProductLine> partsOfHouse = mm.ActiveProductLines().ToList(); List<ProductToLine> prodHouses = mm.AllProductToProductLine().ToList(); model.Products = products.AsEnumerable(); model.PartsOfHouse = partsOfHouse.AsEnumerable(); // create the list based on our product and part list foreach (var partOfHouse in partsOfHouse) { foreach (var product in products) { phModel.Add(new ProductToProductLineModel { IsActive = prodHouses.Any(ph => ph.ProductID == product.ID && ph.ProductLineID == partOfHouse.ID) && prodHouses.First(ph => ph.ProductID == product.ID && ph.ProductLineID == partOfHouse.ID).IsActive, ProductID = product.ID, ProductLineID = partOfHouse.ID, ProductName = product.Name, ProductLineName = partOfHouse.Name }); } } model.ProductPartHouse = phModel.AsEnumerable(); } return View("Products", model); }
public ActionResult Edit(int id) { Quote quote; using (var qm = new QuoteManager()) { quote = qm.Single(id); ViewBag.Quote = quote; } // determine the supplier and materials available List<CompanyToSupplier> companySuppliers; using (var sm = new SupplierManager()) { companySuppliers = sm.ByCompanyID(quote.CompanyID.GetValueOrDefault()).ToList(); } List<Product> products; using (var mm = new MaterialsManager()) { List<Material> allMaterials = new List<Material>(); foreach (var companyToSupplier in companySuppliers) { allMaterials.AddRange(mm.BySupplier(companyToSupplier.SupplierID)); } ViewBag.AvailableMaterials = allMaterials; products = mm.ActiveProducts(quote.CompanyID.GetValueOrDefault()).ToList(); var productLines = mm.ActiveProductLines().ToList(); ViewBag.ProductLines = productLines.AsEnumerable(); ViewBag.ProductToProductLine = mm.AllProductToProductLine().ToList(); ViewBag.MaterialToProducts = mm.AllMaterialToProducts().ToList(); } ViewBag.Products = products; return View("Edit"); }
public ActionResult WasteFactors(int companyID) { var wasteFactors = new List<WasteFactor>(); var model = new List<WasteFactorModel>(); var prodParts = new List<ProductToLine>(); List<Product> products = new List<Product>(); List<ProductLine> partsOfHouse = new List<ProductLine>(); using (var mm = new MaterialsManager()) { prodParts = mm.AllProductToProductLine().ToList(); products = mm.AllProducts().ToList(); partsOfHouse = mm.ActiveProductLines().ToList(); } using (var wfm = new WasteFactorManager()) { wasteFactors = wfm.ByCompany(companyID).ToList(); } foreach (var pph in prodParts) { if (!wasteFactors.Any(wf => wf.ProductID == pph.ProductID && wf.ProductLineID == pph.ProductLineID)) { model.Add(new WasteFactorModel { CompanyID = companyID, CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now, ModifiedBy = User.Identity.Name, ProductLineID = pph.ProductLineID, ProductID = pph.ProductID, ProductName = products.FirstOrDefault(p => p.ID == pph.ProductID).Name, ProductLineName = partsOfHouse.FirstOrDefault(p => p.ID == pph.ProductID).Name }); } else { var fact = wasteFactors.FirstOrDefault( wf => wf.ProductID == pph.ProductID && wf.ProductLineID == pph.ProductLineID); model.Add(new WasteFactorModel { ID = fact.ID, CompanyID = companyID, CreatedOn = fact.CreatedOn, ModifiedOn = fact.CreatedOn, ModifiedBy = fact.ModifiedBy, ProductLineID = pph.ProductLineID, ProductID = pph.ProductID, ProductName = products.FirstOrDefault(p => p.ID == pph.ProductID).Name, ProductLineName = partsOfHouse.FirstOrDefault(p => p.ID == pph.ProductID).Name, Factor = fact.WasteFactor1.GetValueOrDefault() }); } } return View("WasteFactors", model); }