public ActionResult Save(ProductDetails productDetails)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new ProductFormViewModel
                {
                    ProductDetails = productDetails,
                    ProductNames   = _context.ProductNames.ToList()
                };
                return(View("ProductForm", viewModel));
            }

            if (productDetails.Id == 0)
            {
                _context.ProductDetails.Add(productDetails);
            }

            else
            {
                var productDetailsInDb = _context.ProductDetails.Single(p => p.Id == productDetails.Id);

                productDetailsInDb.Name          = productDetails.Name;
                productDetailsInDb.Price         = productDetails.Price;
                productDetailsInDb.Quantity      = productDetails.Quantity;
                productDetailsInDb.Location      = productDetails.Location;
                productDetailsInDb.AisleNumber   = productDetails.AisleNumber;
                productDetailsInDb.ProductNameId = productDetails.ProductNameId;
            }



            _context.SaveChanges();
            return(RedirectToAction("Index", "ProductDetails"));
        }
Пример #2
0
        public IActionResult Save(ProductFormViewModel viewModel)
        {
            // sample scenario: same name checking in the database
            if (viewModel.Title.ToLower() == "abc")
            {
                return(FormResult.CreateWarningResult("'Abc' is already exist in the database."));
            }

            try
            {
                //...
                return(FormResult.CreateSuccessResult("Product saved."));

                // Success form result with redirect
                //return FormResult.CreateSuccessResult("Product saved.", Url.Action("List", "Home"));

                // Success form result with redirect with delay time (15 seconds)
                // The message will be on the screen for 15 seconds.
                //return FormResult.CreateSuccessResult("Product saved.", Url.Action("List", "Home"), 15000);
            }
            catch
            {
                return(FormResult.CreateErrorResult("An error occurred!"));
            }

            // CreateSuccessResult Called this usage:
            //return Json(new FormResult(FormResultStatus.Success)
            //{
            //    Message = "Product saved."
            //});
        }
        // GET: Products/Details/5
        public async Task <ActionResult> Details(int id)
        {
            var viewModel = new ProductFormViewModel();
            var product   = await _context.Product.Include(p => p.ProductType)
                            .FirstOrDefaultAsync(p => p.ProductId == id);

            var user = await GetUserAsync();



            viewModel.DateCreated   = product.DateCreated;
            viewModel.Description   = product.Description;
            viewModel.Title         = product.Title;
            viewModel.Price         = product.Price;
            viewModel.Quantity      = product.Quantity;
            viewModel.UserId        = product.UserId;
            viewModel.City          = product.City;
            viewModel.ImagePath     = product.ImagePath;
            viewModel.Active        = product.Active;
            viewModel.ProductTypeId = product.ProductTypeId;
            viewModel.ProductType   = product.ProductType;
            viewModel.ProductId     = product.ProductId;

            return(View(viewModel));
        }
Пример #4
0
        public ActionResult Save(ProductFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("FormView", viewModel));
            }

            var catInDb = _context.Categories.SingleOrDefault(x => x.CategoryName == viewModel.Category.CategoryName);

            if (catInDb == null)
            {
                _context.Categories.Add(viewModel.Category);
                _context.SaveChanges();
                viewModel.Product.CategoryID =
                    _context.Categories.Single(x => x.CategoryName == viewModel.Category.CategoryName).ID;
                _context.Products.Add(viewModel.Product);
            }
            else
            {
                viewModel.Product.CategoryID = catInDb.ID;
                _context.Products.Add(viewModel.Product);
            }

            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #5
0
        public async Task <IActionResult> Edit(int id, Product product)
        {
            if (!ModelState.IsValid)
            {
                var categories = await _categoriesService.FindAllAsync();

                var viewModel = new ProductFormViewModel {
                    Product = product, Categories = categories
                };
                return(View(viewModel));
            }

            if (id != product.Id)
            {
                return(RedirectToAction(nameof(Error), new { message = "Ids não correspondem!" }));
            }
            try
            {
                await _productService.UpdateAsync(product);

                return(RedirectToAction(nameof(Index)));
            }
            catch (ApplicationException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
        }
Пример #6
0
        public ActionResult Create(ProductFormViewModel newProduct)
        {
            if (!ModelState.IsValid)
            {
                return(View(newProduct));
            }
            try
            {
                var product = Mapper.Map <ProductDto>(newProduct.Product);
                //Add to Database
                var productDto = Mapper.Map <ProductDto>(product);
                _productService.AddProduct(productDto);

                TempData["Notification"] = "Successfully!";

                //Return new list in Index
                var list      = _productService.ListProduct();
                var viewModel = Mapper.Map <List <ProductViewModel> >(list) ?? new List <ProductViewModel>();

                viewModel.Reverse();
                return(View("Index", viewModel));
            }
            catch (Exception e)
            {
                return(View("Index"));
            }
        }
Пример #7
0
        public ActionResult Edit(int id)
        {
            var product = _context.products.SingleOrDefault(m => m.ProductIdentifier == id);

            if (product == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new ProductFormViewModel {
                ProductIdentifier     = product.ProductIdentifier,
                ProductName           = product.ProductName,
                BulkDensity           = product.BulkDensity,
                AngleOfRepose         = product.AngleofRepose,
                TLSPattern            = product.TLSPattern,
                ParPercentageBlending = product.ParPercentageBlending
            };

            if ((int)Session[Sessions.EditStatus] == (int)EnumEditStatus.EditEnabled)
            {
                ViewBag.Passed = true;
            }
            else
            {
                ViewBag.Passed = false;
            }

            return(View("ProductForm", viewModel));
        }
Пример #8
0
        public ActionResult Save(ProductFormViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (viewModel.Product.Id == 0)
                {
                    _unitOfWork.Products.Add(viewModel.Product);
                }
                else
                {
                    // Perhaps DTO and automapper, need to read!
                    var productInDb = _unitOfWork.Products.Get(viewModel.Product.Id);

                    productInDb.Name             = viewModel.Product.Name;
                    productInDb.DescriptionShort = viewModel.Product.DescriptionShort;
                    productInDb.DescriptionLong  = viewModel.Product.DescriptionLong;
                    productInDb.Price            = viewModel.Product.Price;
                    productInDb.ImageUrl         = viewModel.Product.ImageUrl;
                }

                _unitOfWork.Complete();
            }
            else
            {
                return(View("ProductForm", viewModel));
            }


            return(RedirectToAction("Index", "Products"));
        }
        public IActionResult Edit(string id)
        {
            var currentCulture = Request.HttpContext.Features.Get <IRequestCultureFeature>().RequestCulture.Culture.Name;
            var product        = productRepository.GetProductWithCategory(id);
            var photos         = photoRepository.GetPhotos().ToList();
            var categories     = categoryRepository.GetCategories()
                                 .Where(c => c.CategoryId.EndsWith("_" + currentCulture))
                                 .ToList();

            if (product == null)
            {
                return(View("Error"));
            }

            var viewModel = new ProductFormViewModel
            {
                FormType    = "Edit",
                ProductId   = product.ProductId.Split("_")[0],
                Name        = product.Name,
                Description = product.Description,
                Price       = product.Price,
                PhotoId     = product.PhotoId,
                Photos      = photos,
                Categories  = categories,
                ReturnUrl   = Request.Path.Value
            };

            return(View("ProductForm", viewModel));
        }
Пример #10
0
        public async Task <IActionResult> Insert(ProductFormViewModel viewModel)
        {
            if (viewModel.categoryList.Count == 0)
            {
                TempData["MSG_E"] = Message.MSG_E_005;
                ICollection <Category> list = await _categoryRepository.FindAllsAsync(_employeeLogin.GetEmployee().BusinessId);

                ViewBag.Category = list.Select(x => new SelectListItem(x.Name, x.Id.ToString()));
                return(View(nameof(Insert), viewModel));
            }
            if (ModelState.IsValid)
            {
                viewModel.Product.InsertDate         = DateTime.Now;
                viewModel.Product.RegisterEmployeeId = _employeeLogin.GetEmployee().BusinessId;
                _productRepository.Insert(viewModel.Product);

                foreach (var item in viewModel.categoryList)
                {
                    _categoryProductRepository.Insert(new List <CategoryProduct> {
                        new CategoryProduct {
                            ProductId = viewModel.Product.Id, CategoryId = item
                        }
                    });
                }

                TempData["MSG_S"] = Message.MSG_S_002;
                return(RedirectToAction(nameof(Index)));
            }
            ICollection <Category> listCat = await _categoryRepository.FindAllsAsync(_employeeLogin.GetEmployee().BusinessId);

            ViewBag.Category = listCat.Select(x => new SelectListItem(x.Name, x.Id.ToString()));
            return(View(viewModel));
        }
        public ActionResult Create(ProductFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                viewModel.Categories = _unitOfWork.Categories.GetLastChildCategories();
                return(View("ProductForm", viewModel));
            }

            var product = Mapper.Map <ProductFormViewModel, Product>(viewModel);
            var tags    = _unitOfWork.Tags.GetTags().Where(t => viewModel.TagIds.Contains(t.Id)).ToList();

            foreach (var tag in tags)
            {
                product.Tags.Add(tag);
            }

            product.ThumbnailPath = viewModel.GetThumbnailPath();
            product.LastUpdate    = product.DateOfIssue = DateTime.Now;

            _unitOfWork.Products.Add(product);
            _unitOfWork.Complete();

            viewModel.Id = product.Id;
            viewModel.SaveThumbnailOnServer();
            product.ThumbnailPath = viewModel.GetThumbnailPath();
            _unitOfWork.Complete();

            return(RedirectToAction("Dashboard", "Admin"));
        }
Пример #12
0
        public async Task <IActionResult> Update(ProductFormViewModel viewModel)
        {
            if (viewModel.categoryList.Count == 0)
            {
                TempData["MSG_E"] = Message.MSG_E_005;
                ICollection <Category> list = await _categoryRepository.FindAllsAsync(_employeeLogin.GetEmployee().BusinessId);

                ViewBag.Category = list.Select(x => new SelectListItem(x.Name, x.Id.ToString()));
                return(View(nameof(Details), viewModel));
            }

            if (ModelState.IsValid)
            {
                viewModel.Product.UpdateDate = DateTime.Now;
                foreach (var item in viewModel.categoryList)
                {
                    viewModel.Product.CategoryProduct.Add(new CategoryProduct {
                        CategoryId = item, ProductId = viewModel.Product.Id
                    });
                }
                List <CategoryProduct> categoryProductsDB = _categoryProductRepository.FindAllsProdut(viewModel.Product.Id).ToList();
                _categoryProductRepository.Remove(categoryProductsDB);
                _categoryProductRepository.Insert(viewModel.Product.CategoryProduct.ToList());
                _productRepository.Update(viewModel.Product);
                TempData["MSG_S"] = Message.MSG_S_001;
                return(RedirectToAction(nameof(Details), new { Id = viewModel.Product.Id }));
            }
            ICollection <Category> listCat = await _categoryRepository.FindAllsAsync(_employeeLogin.GetEmployee().BusinessId);

            ViewBag.Category = listCat.Select(x => new SelectListItem(x.Name, x.Id.ToString()));
            return(View(nameof(Details), viewModel));
        }
Пример #13
0
        // GET: Admin/Product/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var product = await _context.Products
                          .Include(x => x.ProductCategories)
                          .Include(x => x.OptionGroup)
                          .Include(x => x.SizeGroup)
                          .Include(x => x.SKUs)
                          .ThenInclude(x => x.SKUPictures)
                          .SingleOrDefaultAsync(m => m.Id == id);

            if (product == null)
            {
                return(NotFound());
            }
            var productFormViewModel = new ProductFormViewModel(product);

            productFormViewModel.PrimaryCategoryList =
                new SelectList(await _context.Categories.Where(x => x.ParentCategoryId == null).ToListAsync(), "Id", "Name");
            productFormViewModel.SecondaryCategoryList = new SelectList(
                await _context.Categories.Where(x => x.ParentCategoryId == productFormViewModel.PrimaryCategoryId).ToListAsync(),
                "Id", "Name");
            productFormViewModel.TertiaryCategoryList = new SelectList(
                await _context.Categories.Where(x => x.ParentCategoryId == productFormViewModel.SecondaryCategoryId)
                .ToListAsync(), "Id", "Name");


            ViewData["Header"] = "Products";
            return(View(productFormViewModel));
        }
Пример #14
0
        public ActionResult Save(Product product)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new ProductFormViewModel(product)
                {
                    Categories = _context.Categories.ToList()
                };

                return(View("ProductForm", viewModel));
            }

            if (product.Id == 0)
            {
                product.DateAdded       = DateTime.Now;
                product.NumberAvailable = product.NumberInStock;
                _context.Products.Add(product);
            }
            else
            {
                var productInDb = _context.Products.Single(p => p.Id == product.Id);
                productInDb.Name            = product.Name;
                productInDb.CategoryId      = product.CategoryId;
                productInDb.NumberAvailable = (byte)(productInDb.NumberAvailable
                                                     + (product.NumberInStock - productInDb.NumberInStock));
                productInDb.NumberInStock = product.NumberInStock;
            }

            _context.SaveChanges();

            return(RedirectToAction("Index", "Products"));
        }
Пример #15
0
        public ActionResult Create(ProductFormViewModel viewmodel)
        {
            if (!ModelState.IsValid)
            {
                viewmodel.Categories = _context.Categories.ToList();
                return(View("ProductForm", viewmodel));
            }
            if (viewmodel.ImageUpload != null)
            {
                var path = Path.Combine(Server.MapPath("~/Images"), viewmodel.ImageUpload.FileName);
                viewmodel.ImageUpload.SaveAs(path);
                viewmodel.image = viewmodel.ImageUpload.FileName;
            }


            var product = new Product()
            {
                name        = viewmodel.name,
                description = viewmodel.description,
                image       = viewmodel.image,
                categoryid  = viewmodel.category,
                price       = viewmodel.price
            };


            var cindb = _context.Categories.Single(c => c.id == product.categoryid);

            cindb.number_of_products++;

            _context.Products.Add(product);
            _context.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
Пример #16
0
        public ActionResult Save(Product product)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new ProductFormViewModel(product)
                {
                    Categories = _context.Categories.ToList()
                };

                return(View("ProductForm", viewModel));
            }

            if (product.Id == 0)
            {
                product.DateAdded = DateTime.Today;
                _context.Products.Add(product);
            }
            else
            {
                var productInDb = _context.Products.Single(p => p.Id == product.Id);
                productInDb.Name       = product.Name;
                productInDb.CategoryId = product.CategoryId;
                productInDb.Details    = product.Details;
                productInDb.Price      = product.Price;
                productInDb.DateAdded  = product.DateAdded;
            }

            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Пример #17
0
        public ActionResult Edit(int id)
        {
            // Get the product from database
            var product = db.Products
                          .Include(p => p.Category)
                          .SingleOrDefault(p => p.ID == id);

            // Check if the product is null
            if (product == null)
            {
                return(HttpNotFound());
            }
            // Get the categories from the database
            var categories = db.Categories.ToList();
            // Init the viewModel and fill it with the queries
            var viewModel = new ProductFormViewModel
            {
                Product    = product,
                Categories = categories
            };

            // Return the ProductForm with the viewModel
            if (User.IsInRole("CanManageProductsOrCategories"))
            {
                return(View("ProductForm", viewModel));
            }
            return(Content("You dont have access"));
        }
Пример #18
0
        public ActionResult Edit(ProductFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                viewModel.Categories = _unitOfWork.Category.GetCategoriesList();
                return(View(viewModel));
            }

            var product = _unitOfWork.Product.GetProductById(viewModel.Id);

            product.Name         = viewModel.Name;
            product.Description  = viewModel.Description;
            product.CategoryId   = viewModel.Category;
            product.StockAmount  = viewModel.StockAmount;
            product.Price        = viewModel.Price;
            product.Year         = viewModel.Year;
            product.Dimensions   = viewModel.Dimensions;
            product.Manufacturer = viewModel.Manufacturer;

            var uploads = viewModel.UploadedFiles;

            if (uploads != null)
            {
                foreach (var upload in uploads)
                {
                    if (upload != null && upload.ContentType.Contains("image"))
                    {
                        var productPhoto = new File
                        {
                            FileName  = Path.GetFileName(upload.FileName),
                            ProductId = product.Id
                        };

                        var path = Path.Combine(Server.MapPath("~/Content/Images/"), productPhoto.FileName);

                        Resize(100, 100, upload.InputStream, Path.Combine(Server.MapPath("~/Content/Images/Thumbnails/" + productPhoto.FileName)));

                        product.Files.Add(productPhoto);

                        upload.SaveAs(path);
                    }
                    else if (upload != null && !upload.ContentType.Contains("image"))
                    {
                        viewModel.Categories = _unitOfWork.Product.GetCategories();
                        return(View(viewModel));
                    }
                }

                if (product.Files.Count != 0)
                {
                    _unitOfWork.Complete();

                    return(RedirectToAction("Index"));
                }
            }

            _unitOfWork.Complete();

            return(RedirectToAction("Index"));
        }
        public IActionResult Save(Products product)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new ProductFormViewModel
                {
                    Suppliers  = _supplierRepository.GetSuppliers(),
                    Categories = _categoryRepository.GetCategories()
                };
                return(View("ProductForm", viewModel));
            }

            if (product.ProductId == 0)
            {
                _repository.AddProduct(product);
            }
            else
            {
                var productInDb = _repository.GetProduct(product.ProductId);
                productInDb.ProductName     = product.ProductName;
                productInDb.CategoryId      = product.CategoryId;
                productInDb.QuantityPerUnit = product.QuantityPerUnit;
                productInDb.UnitPrice       = product.UnitPrice;
                productInDb.SupplierId      = product.SupplierId;
            }

            if (!_repository.Save())
            {
                return(View("Error"));
            }
            return(RedirectToAction("Index", "Products"));
        }
Пример #20
0
        public ActionResult Save(Product product, ProductFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                viewModel.Categories = _context.Categories.ToList();

                return(View("ProductForm2", viewModel));
            }

            if (product.Id == 0)
            {
                product.Image = _set_product_image(product, viewModel.File);
                _context.Products.Add(product);
                _increase_number_of_products(product.CategoryId);
            }

            else
            {
                _SaveOfEdit(product, viewModel);
            }


            _context.SaveChanges();
            return(RedirectToAction("Index", "Products"));
        }
Пример #21
0
        public async Task ReturnViewWithDataWhenInvalidModelStateInProductForm()
        {
            //Arrange
            _sut.ModelState.AddModelError("x", "Test Error");

            var productViewModel = new ProductFormViewModel
            {
                Name        = "Test",
                BrandId     = 2,
                ColorId     = 2,
                Description = "test",
                SexId       = 1,
                Price       = "20.99",
                CategoryId  = 1,
                PhotoPath   = "XDDD"
            };

            //Act
            IActionResult result = await _sut.SaveProduct(productViewModel);

            //Assert
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsType <ProductFormViewModel>(viewResult.Model);

            Assert.Equal(productViewModel.Name, model.Name);
            Assert.Equal(productViewModel.BrandId, model.BrandId);
            Assert.Equal(productViewModel.ColorId, model.ColorId);
            Assert.Equal(productViewModel.Description, model.Description);
            Assert.Equal(productViewModel.SexId, model.SexId);
            Assert.Equal(productViewModel.SexId, model.SexId);
            Assert.Equal(productViewModel.CategoryId, model.CategoryId);
        }
Пример #22
0
        public async Task <ActionResult> Create(ProductFormViewModel productViewItem)
        {
            try
            {
                var user = await GetCurrentUserAsync();

                var product = new Product
                {
                    DateCreated   = productViewItem.DateCreated,
                    Description   = productViewItem.Description,
                    Title         = productViewItem.Title,
                    Price         = productViewItem.Price,
                    Quantity      = productViewItem.Quantity,
                    UserId        = user.Id,
                    City          = productViewItem.City,
                    Active        = productViewItem.Active,
                    ProductTypeId = productViewItem.ProductTypeId,
                    localDelivery = productViewItem.localDelivery
                };

                _context.Product.Add(product);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Пример #23
0
        public ActionResult Save(Product product)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new ProductFormViewModel
                {
                    Product           = product,
                    ProductCategories = _context.ProductCategories.ToList()
                };

                return(View("ProductForm", viewModel));
            }

            if (product.Id == 0)
            {
                _context.Products.Add(product);
            }
            else
            {
                var productInDb = _context.Products.Single(m => m.Id == product.Id);
                productInDb.Name = product.Name;
                productInDb.ProductCategoryId = product.ProductCategoryId;
                productInDb.ProductionDate    = product.ProductionDate;
                productInDb.ExpirationDate    = product.ExpirationDate;
                productInDb.NrInStock         = product.NrInStock;
            }
            _context.SaveChanges();

            return(RedirectToAction("Index", "Products"));
        }
        public ActionResult Edit(int id)
        {
            var product = _context.Products.FirstOrDefault(p => p.Id == id);

            if (product == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new ProductFormViewModel()
            {
                Id          = id,
                Name        = product.Name,
                Description = product.Description,
                PriceBefore = product.PriceBefore,
                Discount    = product.Discount,
                Price       = product.Price,
                Save        = product.Save,
                Quantity    = product.Quantity,
                Categories  = _context.Categories.Where(c => c.IsActive == true).ToList(),
                Brands      = _context.Brands.Where(c => c.IsActive == true).ToList(),
                Category    = product.CategoryId,
                Brand       = product.BrandId
            };

            return(View("ProductForm", viewModel));
        }
Пример #25
0
 public ActionResult Save(Product product)
 {
     if (!ModelState.IsValid)
     {
         // Ako nije validan, vraćamo korisnika na formu.
         var viewModel = new ProductFormViewModel()
         {
             Product = _context.Products.SingleOrDefault(p => p.ID == product.ID)
         };
         return(View("ProductForm", viewModel));
     }
     if (product.ID == 0)
     {
         _context.Products.Add(product);
     }
     else
     {
         var productInDb = _context.Products.Single(p => p.ID == product.ID);
         productInDb.Name        = product.Name;
         productInDb.Description = product.Description;
         productInDb.Producer    = product.Producer;
         productInDb.Supplier    = product.Supplier;
         productInDb.Price       = product.Price;
     }
     _context.SaveChanges();
     return(RedirectToAction("Index", "Products"));
 }
        public IActionResult CreateProduct(ProductFormViewModel formProduct, int id)
        {
            Product product = new Product();

            formProduct.IdCompany = id;
            var company = _companyService.FindCompanyById(id);

            product.Name            = formProduct.Name;
            product.Company         = company;
            product.TypeOfProduct   = formProduct.TypeOfProduct;
            product.PublicationCode = formProduct.PublicationCode;
            string extension = ".svg";

            product.PictureName = "no_image.png";
            string pictureName = formProduct.PictureName;

            if (pictureName != null)
            {
                product.PictureName = pictureName + extension;
            }
            else
            {
            }
            _productService.AddProduct(product);

            return(RedirectToAction(nameof(Index)));
        }
Пример #27
0
        /// <summary>
        /// Validate model. Check file for valid image
        /// Picture size must be lower than 500 Kb, width and height are equals 200px.
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private List <string> CheckProductModel(ProductFormViewModel model)
        {
            List <string> errors = new List <string>();

            //Vlidate file of format
            if (model.ImageForm.ContentType.ToLower() != "image/jpeg" &&
                model.ImageForm.ContentType.ToLower() != "image/jpg" &&
                model.ImageForm.ContentType.ToLower() != "image/png")
            {
                errors.Add("Upload jpg or png picture");
                return(errors);
            }
            int width = 0, height = 0;

            using (var image = Image.FromStream(model.ImageForm.OpenReadStream()))
            {
                width  = image.Width;
                height = image.Height;
            }
            if (width != 200 & height != 200)
            {
                errors.Add("Picture width and hegth must are equals 200px");
            }
            if (model.ImageForm.Length > 500 * 1024)
            {
                errors.Add("Picture size greate than 500кб");
            }

            return(errors);
        }
Пример #28
0
        public ActionResult Save(Product product)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new ProductFormViewModel(product)
                {
                    Categories = ProductService._context.Categories.ToList(),
                    Brands     = ProductService._context.Brands.ToList()
                };
                return(View("ProductForm", viewModel));
            }

            if (product.Id == 0)
            {
                product.DateAdded = DateTime.Now;
                ProductService._context.Products.Add(product);
            }
            else
            {
                var productInDb = ProductService._context.Products.Single(m => m.Id == product.Id);

                productInDb.Id              = product.Id;
                productInDb.Name            = product.Name;
                productInDb.Quatity         = product.Quatity;
                productInDb.NumberInStock   = product.NumberInStock;
                productInDb.DateAdded       = product.DateAdded;
                productInDb.DateToExpire    = product.DateToExpire;
                productInDb.NumberAvailable = product.NumberAvailable;
            }

            ProductService._context.SaveChanges();
            return(RedirectToAction("Index", "Product"));
        }
        public async Task <ActionResult> Create(ProductFormViewModel productViewModel)
        {
            try
            {
                var user = await GetUserAsync();

                var product = new Product()
                {
                    DateCreated   = DateTime.Now,
                    Description   = productViewModel.Description,
                    Title         = productViewModel.Title,
                    Price         = productViewModel.Price,
                    Quantity      = productViewModel.Quantity,
                    UserId        = user.Id,
                    City          = productViewModel.City,
                    ImagePath     = productViewModel.ImagePath,
                    Active        = productViewModel.Active,
                    ProductTypeId = productViewModel.ProductTypeId
                };

                _context.Product.Add(product);
                await _context.SaveChangesAsync();

                var id = product.ProductId;

                return(RedirectToAction("Details", new { id = id }));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
Пример #30
0
 public ProductFormView(ProductFormViewModel viewModel)
 {
     DataContext = viewModel;
     InitializeComponent();
     WindowStartupLocation = WindowStartupLocation.CenterScreen;
     Closed += OnWindowClosed;
 }