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 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)); }
public ActionResult Edit2(int id) { Quote quote; List <QuoteOption> options; using (var qm = new QuoteManager()) { quote = qm.Single(id); options = qm.QuoteOptions(id).ToList(); 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.PartsOfHouse = productLines.AsEnumerable(); ViewBag.ProductToProductLine = mm.AllProductToProductLine().ToList(); ViewBag.MaterialToProducts = mm.AllMaterialToProducts().ToList(); } ViewBag.Products = products; return(View("Edit")); }