public ActionResult SupplierMaterials(int supplierID) { List<Material> materials; using (var mm = new MaterialsManager()) { materials = mm.BySupplier(supplierID).ToList(); } ViewBag.Materials = materials; return View("MaterialList"); }
public ActionResult BySupplier(int id) { List<Pricing> prices; List<Material> materials; int supplierID = id; using (var um = new UserManager()) { // any user tied to a supplier can only see their supplier rates var currentUser = um.ByUsername(User.Identity.Name); if (currentUser.SupplierID != null) { supplierID = currentUser.SupplierID.GetValueOrDefault(); } } using (var mm = new MaterialsManager()) { materials = mm.BySupplier(supplierID).ToList(); } using (var pm = new PricingManager()) { prices = pm.BySupplier(supplierID).ToList(); } // populate the model List<PricingModel> model = new List<PricingModel>(); foreach (var mat in materials) { var m = new PricingModel(); if (prices.Any(p => p.MaterialID == mat.ID)) { var price = prices.FirstOrDefault(p => p.MaterialID == mat.ID); m.ID = price.ID; m.CompanyID = price.CompanyID; m.MaterialID = price.MaterialID; m.SupplierID = price.SupplierID; m.CreatedOn = price.CreatedOn; m.CreatedBy = price.CreatedBy; m.ModifiedBy = price.ModifiedBy; m.ModifiedOn = price.ModifiedOn; m.Price = price.Price; m.MaterialName = mat.Name; } else { m.ID = 0; m.MaterialID = mat.ID; m.SupplierID = supplierID; m.CreatedOn = DateTime.Now; m.CreatedBy = User.Identity.Name; m.ModifiedBy = User.Identity.Name; m.ModifiedOn = DateTime.Now; m.MaterialName = mat.Name; } model.Add(m); } return View("PricingList", model); }
public ActionResult MaterialProductsGrid(int? supplierID) { using (var um = new UserManager()) { var currentUser = um.ByUsername(User.Identity.Name); if (currentUser.SupplierID != null) { supplierID = currentUser.SupplierID.GetValueOrDefault(); } } var model = new MaterialProductGridModel(); var materialToProductModels = new List<MaterialToProductModel>(); using (var mm = new MaterialsManager()) { var products = mm.ActiveProducts().ToList(); var materials = mm.BySupplier(supplierID.GetValueOrDefault()).ToList(); var materialToProducts = mm.ByManufacturerID(supplierID.GetValueOrDefault()).ToList(); model.Products = products.AsEnumerable(); model.Materials = materials.AsEnumerable(); // create the list based on our product and material list foreach (var material in materials) { foreach (var product in products) { materialToProductModels.Add(new MaterialToProductModel { IsActive = materialToProducts.Any(mp => mp.ProductID == product.ID && mp.MaterialID == material.ID), ProductID = product.ID, MaterialID = material.ID, ProductName = product.Name, MaterialName = material.Name, MaterialToProductID = materialToProducts.Any(mp => mp.ProductID == product.ID && mp.MaterialID == material.ID) ? materialToProducts.First(mp => mp.ProductID == product.ID && mp.MaterialID == material.ID).ID : 0 }); } } model.MaterialProducts = materialToProductModels.AsEnumerable(); } return View("MaterialProductsGrid", 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"); }