Esempio n. 1
0
        public async Task <IActionResult> CreateAsync(CreateEditProductViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.Categories = await this.GetCategoriesAsync();

                return(View(model));
            }

            var product = this.products.ExistsByName(model.Title);

            if (!product)
            {
                await this.products.CreateAsync(
                    model.Title,
                    model.ShortDescription,
                    model.LongDescription,
                    model.Price,
                    model.Images,
                    model.Thumbnail,
                    model.CategoryId);
            }

            TempData.AddSuccessMessage($"Product {model.Title} created successfully!");

            return(Redirect("/"));
        }
        public async Task <IActionResult> Edit(CreateEditProductViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var productCategory = _context.ProductCategories.Single(p => p.ProductCategoryId == viewModel.SelectedProductCategoryId);
                    viewModel.Product.ProductCategory = productCategory;

                    _context.Update(viewModel.Product);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProductExists(viewModel.Product.ProductId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
Esempio n. 3
0
        public async Task <IActionResult> Edit(int id, CreateEditProductViewModel model)
        {
            if (id != model.Product.ProductId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(model.Product);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProductExists(model.Product.ProductId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
        public async Task <IActionResult> Create(CreateEditProductViewModel productModel)
        {
            //if (ModelState.IsValid)
            //{

            if (productModel.Product.ImageUpload != null)
            {
                //Store the image in a temp location as it comes back from the uploader
                using (var memoryStream = new MemoryStream())
                {
                    await productModel.Product.ImageUpload.CopyToAsync(memoryStream);

                    productModel.Product.Image = memoryStream.ToArray();
                }

                productModel.Product.Producer = null;
                _context.Add(productModel.Product);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }


            //}

            AddDropdowns(productModel);

            return(View(productModel));
        }
Esempio n. 5
0
        public virtual async Task OnGetAsync(Guid?categoryId)
        {
            ProductGroups =
                (await _service.GetProductGroupListAsync()).Items
                .Select(dto => new SelectListItem(dto.DisplayName, dto.Name)).ToList();

            Categories =
                (await _categoryAppService.GetListAsync(new GetCategoryListDto
            {
                MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount
            }))?.Items
                .Select(dto => new SelectListItem(dto.DisplayName, dto.Id.ToString())).ToList();

            Product = new CreateEditProductViewModel
            {
                StoreId       = StoreId,
                ProductDetail = new CreateEditProductDetailViewModel
                {
                    StoreId = StoreId
                }
            };

            if (categoryId.HasValue)
            {
                Product.CategoryIds = new List <Guid>(new[] { categoryId.Value });
            }
        }
Esempio n. 6
0
        public async Task <IActionResult> EditAsync(int id, CreateEditProductViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var product    = this.products.ExistsById(id);
            var categories = await this.GetCategoriesAsync();

            if (categories == null || !product)
            {
                return(NotFound());
            }

            await this.products.EditAsync(
                id,
                model.Title,
                model.ShortDescription,
                model.LongDescription,
                model.Price,
                model.Images,
                model.Thumbnail,
                model.CategoryId);

            TempData.AddSuccessMessage($"Product {model.Title} updated successfully!");

            return(Redirect("/"));
        }
Esempio n. 7
0
        public virtual async Task OnGetAsync(Guid storeId, Guid?categoryId)
        {
            ProductGroups =
                (await _service.GetProductGroupListAsync()).Items
                .Select(dto => new SelectListItem(dto.DisplayName, dto.Name)).ToList();

            Categories =
                (await _categoryAppService.GetListAsync(new GetCategoryListDto
            {
                MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount
            }))?.Items
                .Select(dto => new SelectListItem(dto.DisplayName, dto.Id.ToString())).ToList();

            Product = new CreateEditProductViewModel
            {
                StoreId       = storeId,
                ProductDetail = new CreateEditProductDetailViewModel
                {
                    StoreId = storeId
                }
            };

            if (categoryId.HasValue)
            {
                Product.CategoryIds = new List <Guid>(new[] { categoryId.Value });
            }

            var paymentExpireInString =
                await SettingProvider.GetOrNullAsync(ProductsConsts.DefaultPaymentExpireInSettingName);

            Product.PaymentExpireIn =
                !paymentExpireInString.IsNullOrEmpty() ? TimeSpan.Parse(paymentExpireInString) : null;
        }
Esempio n. 8
0
        // GET: Products/Create
        public IActionResult Create()
        {
            var model = new CreateEditProductViewModel();

            model.ProductCategories = _productCategoryService.GetSelectList();

            return(View(model));
        }
        // GET: Products/Create
        public IActionResult Create()
        {
            CreateEditProductViewModel productModel = new CreateEditProductViewModel();


            AddDropdowns(productModel);

            return(View(productModel));
        }
        // GET: Product/Create
        public IActionResult Create()
        {
            var viewModel = new CreateEditProductViewModel()
            {
                Product = new Product(),
                AllProductCategories = _productCategoryService.GetProductCategories().ToList()
            };

            return(View(viewModel));
        }
Esempio n. 11
0
        public async Task <IActionResult> Create(CreateEditProductViewModel model)
        {
            if (ModelState.IsValid)
            {
                _context.Add(model.Product);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
        public async Task <IActionResult> Edit(int id, CreateEditProductViewModel productModel)
        {
            if (id != productModel.Product.ProductId)
            {
                return(NotFound());
            }

            //if (ModelState.IsValid)
            //{
            try
            {
                if (productModel.Product.ImageUpload != null)
                {
                    //Store the image in a temp location as it comes back from the uploader
                    using (var memoryStream = new MemoryStream())
                    {
                        await productModel.Product.ImageUpload.CopyToAsync(memoryStream);

                        productModel.Product.Image = memoryStream.ToArray();
                    }
                }
                else
                {
                    var imageFromDatabase = await _context.Products.AsNoTracking()
                                            .FirstOrDefaultAsync(a => a.ProductId == id);

                    productModel.Product.Image = imageFromDatabase.Image;
                }

                productModel.Product.Producer = null;
                _context.Update(productModel.Product);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(productModel.Product.ProductId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(RedirectToAction(nameof(Index)));
            //}
            //AddDropdowns(productModel);
            //return View(productModel);
        }
        public async Task <IActionResult> Create(CreateEditProductViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var productCategory = _context.ProductCategories.Single(p => p.ProductCategoryId == viewModel.SelectedProductCategoryId);

                viewModel.Product.ProductCategory = productCategory;

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

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
        // GET: Product/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var viewModel = new CreateEditProductViewModel()
            {
                Product = await _context.Products.SingleOrDefaultAsync(m => m.ProductId == id),
                AllProductCategories = _productCategoryService.GetProductCategories().ToList()
            };

            if (viewModel.Product == null)
            {
                return(NotFound());
            }

            return(View(viewModel));
        }
        // GET: Products/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }


            var product = await _context.Products.FindAsync(id);

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

            CreateEditProductViewModel productModel = new CreateEditProductViewModel();

            productModel.Product = product;
            AddDropdowns(productModel);
            return(View(productModel));
        }
Esempio n. 16
0
        // GET: Products/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var product = await _context.Product.SingleOrDefaultAsync(m => m.ProductId == id);

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

            var model = new CreateEditProductViewModel();

            model.ProductCategories = _productCategoryService.GetSelectList(product.ProductCategoryId);

            model.Product = product;

            return(View(model));
        }
 public void AddDropdowns(CreateEditProductViewModel productModel)
 {
     productModel.Producers    = Add0Dropdown(new SelectList(_context.Set <Producer>(), "ProducerId", "BusinessName"), "producer");
     productModel.ProductTypes = Add0Dropdown(new SelectList(_context.Set <ProductType>(), "ProductTypeId", "Description"), "product type");
     productModel.Shelves      = Add0Dropdown(new SelectList(_context.Set <Shelf>(), "ShelfId", "Description"), "product location");
 }
Esempio n. 18
0
        public async Task OnGetAsync()
        {
            var dto = await _service.GetAsync(Id);

            ViewModel = ObjectMapper.Map <ProductDto, CreateEditProductViewModel>(dto);
        }