Exemple #1
0
        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"));
        }