Exemplo n.º 1
0
        public ProductViewModel AutoMappingProductViewModel(Product p)
        {
            ProductViewModel model = new ProductViewModel();
            var soc = new SpecialOfferController();
            var rec = new RevisionController();

            //Add all revisions to product via viewmodels
            model.RevisionsInProduct = new List <RevisionViewModel>();
            foreach (Revision r in rec.RetrieveAllRevisionsByProductId(p.RetrieveProductId()))
            {
                var mapperOne            = mapextension.RevisionToRevisionViewModel();
                RevisionViewModel rmodel = mapperOne.Map <RevisionViewModel>(r);
                model.RevisionsInProduct.Add(rmodel);
            }

            //Add all categories from product to model via viewmodels
            model.ProductCategories = new List <CategoryOverviewViewModel>();
            foreach (Category c in categoryRep.RetrieveCategoriesFromProduct(p))
            {
                var mapperTwo = mapextension.CategoryToCategoryOverviewViewModel();
                CategoryOverviewViewModel cmodel = mapperTwo.Map <CategoryOverviewViewModel>(c);
                model.ProductCategories.Add(cmodel);
            }

            //Add all categories in system to model via viewmodels
            model.ListOfAllCategories = new List <CategoryOverviewViewModel>();
            foreach (Category c in categoryRep.RetrieveAllCategories())
            {
                var mapperThree = mapextension.CategoryToCategoryOverviewViewModel();
                CategoryOverviewViewModel cmodelsystem = mapperThree.Map <CategoryOverviewViewModel>(c);
                model.ListOfAllCategories.Add(cmodelsystem);
            }

            return(model);
        }
Exemplo n.º 2
0
        public ActionResult Add(ProductViewModel model, List <int> selectedCategory, string uploadedImage)
        {
            /*New product to add*/
            var product = new Product(1, model.ProductName);

            product.ProductAmount     = model.ProductAmount;
            product.ProductDesc       = model.ProductDesc;
            product.ProductCategories = new List <Category>();
            product.ProductDiscount   = model.ProductDiscount;
            product.ProductPrice      = model.ProductPrice;
            product.ProductStatus     = model.ProductStatus;
            product.ImageUrl          = uploadedImage;
            product.BtwPercentage     = model.BtwPercentage;

            //Add all selected categories in system to model via viewmodels
            foreach (CategoryOverviewViewModel c in model.ProductCategories)
            {
                Category newcategory = categoryRep.RetrieveCategoryById(c.CategoryId);
                product.ProductCategories.Add(newcategory);
            }

            if (product.ProductDesc == null)
            {
                product.ProductDesc = "No description";
            }
            if (product.ImageUrl == null)
            {
                product.ImageUrl = "noimage.jpg";
            }
            if (model.ProductInStock == "Yes")
            {
                product.ProductInStock = 1;
            }
            else
            {
                product.ProductInStock = 0;
            }

            var offerController    = new SpecialOfferController();
            var revisionController = new RevisionController();

            /*Creating the product*/
            if (productRep.CreateNewProduct(product))
            {
                var selectedProduct = productRep.RetrieveProductByName(product.ProductName);
                InsertingCategoriesIntoProduct(selectedCategory, selectedProduct);
                offerController.Add(model, selectedProduct);
                revisionController.Add(selectedProduct);
                return(RedirectToAction("Overview", "Product"));
            }
            return(RedirectToAction("Single", "Product"));
        }