示例#1
0
        public ActionResult SupplierMaterials(int supplierID)
        {
            List <Material> materials;

            using (var mm = new MaterialsManager())
            {
                materials = mm.BySupplier(supplierID).ToList();
            }

            ViewBag.Materials = materials;
            return(View("MaterialList"));
        }
示例#2
0
        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"));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }