Esempio n. 1
0
        // GET: Products/Edit/5
        public ActionResult Edit(int?id)
        {
            EditProductViewModel model = new EditProductViewModel();


            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Product product = db.Products.Find(id);

            if (product == null)
            {
                return(HttpNotFound());
            }
            model.ID            = product.ID;
            model.Name          = product.Name;
            model.Description   = product.Description;
            model.OriginalPrice = product.OriginalPrice;
            model.SellingPrice  = product.SellingPrice;
            model.stock         = product.stock;
            model.CategoryID    = product.Category != null ? product.Category.ID : 0;
            model.ImageURL      = product.ImageURL;
            model.Tags          = product.Tags;

            model.AvailableCategories = db.Categories.ToList();

            return(View(model));
        }
Esempio n. 2
0
 public Product EditProduct(EditProductViewModel model)
 {
     var editProduct = vATUShopDbContext.Products.Find(model.ProductId);
     editProduct.ProductName = model.ProductName;
     editProduct.CategoryId = model.CategoryId;
     editProduct.BrandId = model.BrandingId;
     editProduct.Price = model.Price;
     editProduct.Inventory = model.Inventory;
     editProduct.Description = model.Description;
     editProduct.ImagePath = model.ImagePath;
     string fileName = null;
     if (model.Image != null)
     {
         string uploadFolder = Path.Combine(webHostEnvironment.WebRootPath, "img");
         fileName = $"{Guid.NewGuid()}_{model.Image.FileName}";
         var filePath = Path.Combine(uploadFolder, fileName);
         using (var fs = new FileStream(filePath, FileMode.Create))
         {
             model.Image.CopyTo(fs);
         }
         editProduct.ImagePath = fileName;
         if (!string.IsNullOrEmpty(model.ImagePath) && (model.ImagePath != "none-avatar.png"))
         {
             string delFile = Path.Combine(webHostEnvironment.WebRootPath
                                 , "img", model.ImagePath);
             System.IO.File.Delete(delFile);
         }
     }
     vATUShopDbContext.SaveChanges();
     return editProduct;
 }
Esempio n. 3
0
        public IActionResult Edit(string id)
        {
            ViewBag.Categories = categoryRepository.Get();
            ViewBag.Brands     = brandRepository.Get();
            var product = productRepository.Get(id);

            ViewBag.Images = (from e in context.Images
                              where e.ProductId == product.ProductId
                              select e).ToList();
            if (product == null)
            {
                return(View("~/Views/Error/PageNotFound.cshtml"));
            }
            var editProduct = new EditProductViewModel
            {
                BrandId     = product.BrandId,
                CategoryId  = product.CategoryId,
                CPU         = product.CPU,
                Description = product.Description,
                FrontCamera = product.FrontCamera,
                //ImageFileName = product.ImageFileName,
                Name       = product.Name,
                OS         = product.OS,
                Price      = product.Price,
                ProductId  = product.ProductId,
                Ram        = product.Ram,
                RearCamera = product.RearCamera,
                Remain     = product.Remain,
                Rom        = product.Rom,
                Screen     = product.Screen
            };

            return(View(editProduct));
        }
Esempio n. 4
0
        public async Task <IActionResult> ChangePicture(EditProductViewModel model)
        {
            if (model.Id == null || model.Pictures == null)
            {
                TempData[GlobalConstants.TempDataErrorMessageKey] = GlobalConstants.InvalidData;
                return(this.RedirectToAction("Edit", new { id = model.Id }));
            }

            var currentPicture   = _pictureService.GetProductPicturesById(model.Id);
            var entityType       = typeof(Product);
            var productPictureId = string.Format(GlobalConstants.ProductPicture, model.Name);

            //Delete the old picture from cloudinary
            _pictureService.DeletePicture(entityType, currentPicture.Id);

            //Delete old picture from DB
            DeletePictureFromDB(currentPicture);


            //Add new picture to Cloudinary
            var pictures = new List <IFormFile>();

            pictures.Add(model.Pictures.First());
            await this._pictureService.UploadPicturesAsync(pictures, entityType, productPictureId, model.Id);


            return(Redirect("/"));
        }
        public void ShowWindow(BaseViewModel viewModel, bool showAsDialog = false)
        {
            Window window = viewModel switch
            {
                // Wenn viewModel null ist -> ArgumentNullException
                null => throw new ArgumentNullException(nameof(viewModel)),

                      MainWindowViewModel _ => new MainWindow(),
                      EditProductViewModel _ => new EditProductWindow(),

                      // default -> InvalidOperationException
                      _ => throw new InvalidOperationException($"Unbekanntes ViewModel '{viewModel}'"),
            };

            _windows[viewModel] = window;

            window.DataContext = viewModel;

            if (showAsDialog)
            {
                window.ShowDialog();
            }
            else
            {
                window.Show();
            }
        }
Esempio n. 6
0
        public ResultViewModel Put([FromBody] EditProductViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return new ResultViewModel
                       {
                           Success = false,
                           Message = "Não foi possível alterar o produto!",
                           Data    = model.Notifications
                       }
            }
            ;
            Product product = _context.Products.Find(model.Id);

            product.Title          = model.Title;
            product.CategoryId     = model.CategoryId;
            product.Descriptions   = model.Description;
            product.Image          = model.Image;
            product.LastUpdateDate = DateTime.Now;
            product.Price          = model.Price;
            product.Quantity       = model.Quantity;
            _context.Entry <Product>(product).State = EntityState.Modified;
            _context.SaveChanges();
            return(new ResultViewModel
            {
                Success = true,
                Message = "Produto alterado com sucesso!",
                Data = product
            });
        }
    }
Esempio n. 7
0
        public async Task <IActionResult> Edit(int id)
        {
            var product = await _dbContext.Products
                          .Include(u => u.ApplicationUser)
                          .Where(p => p.Id == id)
                          .FirstOrDefaultAsync();

            if (product == null)
            {
                return(new NotFoundResult());
            }

            var authorizationResult = await _authorizationService
                                      .AuthorizeAsync(User, product, CRUD.Update);

            if (authorizationResult.Succeeded)
            {
                EditProductViewModel model = new EditProductViewModel {
                    Id          = product.Id,
                    Name        = product.Name,
                    Description = product.Description,
                    Price       = product.Price
                };

                return(View(model));
            }
            else if (User.Identity.IsAuthenticated)
            {
                return(new ForbidResult());
            }
            else
            {
                return(new ChallengeResult());
            }
        }
 public virtual ActionResult Edit(EditProductViewModel viewModel)    // changes an entity redirects to list
 {
     if (!ModelState.IsValid)
     {
         ModelState.AddModelError("", "فیلدهای مورد نظر را وارد کنید.");
         return(View(viewModel));
     }
     try
     {
         ServiceFactory.Create <IProductService>()
         .Save(new Product
         {
             Id          = viewModel.Id,
             Name        = viewModel.Name,
             Code        = viewModel.Code,
             Description = viewModel.Description,
             CategoryId  = viewModel.CategoryId,
             Version     = viewModel.Version,
             Price       = viewModel.Price
         });
     }
     catch (DbUpdateConcurrencyException)
     {
         ModelState.AddModelError("", "کالا مورد نظر توسط کاربر دیگری در شبکه، تغییر یافته است. برای ادامه صفحه را رفرش کنید.");
         return(View(viewModel));
     }
     return(RedirectToAction("List"));
 }
Esempio n. 9
0
        public async Task <IActionResult> Edit(EditProductViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var input = new BLLProductDTO
                {
                    Id             = vm.ProductId,
                    OrganizationId = vm.OrganizationId,
                    Description    = vm.Description,
                    CurrentPrice   = vm.Price,
                    ProductName    = vm.ProductName,
                    Categories     = vm.SelectedCategories.Select(i => new BLLCategoryMinDTO(i)).ToList()
                };

                var result = await _bll.ProductService.EditProduct(input);

                if (result == false)
                {
                    return(BadRequest("Edit unsuccessful"));
                }
                return(RedirectToAction("Organization", "Dashboard", new { Id = vm.OrganizationId }));
            }
            var categories =
                (await _bll.OrganizationsService.GetOrganizationWithCategoriesAsync(vm.OrganizationId)).Categories;

            vm.Categories = categories.Select(dto =>
                                              new SelectListItem(dto.CategoryName, dto.CategoryId.ToString(), vm.SelectedCategories.Contains(dto.CategoryId)))
                            .ToList();

            return(View(vm));
        }
Esempio n. 10
0
        public ActionResult Edit(EditProductViewModel model)
        {
            if (ModelState.IsValid)
            {
                var existingProduct = ProductsService.Instance.GetProduct(model.ID);
                existingProduct.Name        = model.Name;
                existingProduct.Description = model.Description;
                existingProduct.Price       = model.Price;

                existingProduct.Category   = null; //mark it null. Because the referncy key is changed below
                existingProduct.CategoryID = model.CategoryID;

                //dont update imageURL if its empty
                if (!string.IsNullOrEmpty(model.ImageURL))
                {
                    existingProduct.ImageURL = model.ImageURL;
                }

                ProductsService.Instance.UpdateProduct(existingProduct);

                return(RedirectToAction("ProductTable"));
            }
            else
            {
                return(new HttpStatusCodeResult(500));
            }
        }
Esempio n. 11
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var product = await _bll.ProductService.GetProductAsync(productId : id.Value);

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

            var categories =
                (await _bll.OrganizationsService.GetOrganizationWithCategoriesAsync(product.OrganizationId)).Categories;
            var selectedCategoryIds = product.Categories.Select(dto => dto.Id).ToList();
            var vm = new EditProductViewModel()
            {
                Price          = product.CurrentPrice,
                Description    = product.Description,
                ProductId      = product.Id,
                OrganizationId = product.OrganizationId,
                ProductName    = product.ProductName,
                Categories     = categories.Select(dto =>
                                                   new SelectListItem(dto.CategoryName, dto.CategoryId.ToString(), selectedCategoryIds.Contains(dto.CategoryId)))
                                 .ToList()
            };

            vm.Categories.Sort((item, item2) => int.Parse(item.Value).CompareTo(int.Parse(item2.Value)));
            return(View(vm));
        }
Esempio n. 12
0
        //Edit Product GetFunction

        public ActionResult Edit(int id)
        {
            EditProductViewModel model = new EditProductViewModel();

            using (ApplicationDbContext _context = new ApplicationDbContext())
            {
                var product = _context.Products.Include(x => x.Category).Include(x => x.Companies)
                              .Include(x => x.ProductStockList).Include(x => x.productOrderDetailList)
                              .Include(x => x.ProductImages).Where(x => x.ID == id)
                              .SingleOrDefault();

                model.ID                 = product.ID;
                model.ProductName        = product.ProductName;
                model.IsFeatured         = product.IsFeatured;
                model.ProductDescription = product.ProductDescription;
                model.CategoryId         = product.Category != null ? product.Category.Id : 0;
                model.Category           = _context.Categories.Where(x => x.IsActive == true).ToList();
                model.CompanyId          = product.Companies != null ? product.Companies.Id : 0;
                model.Companies          = _context.Companieses.Where(x => x.isDeleted != true).ToList();
                model.salePrice          = product.salePrice;
                model.purchasePrice      = product.purchasePrice;
                model.Quantity           = product.ProductStockList.Sum(x => x.productUpdatedQuantity) -
                                           product.productOrderDetailList.Sum(s => s.Quantity);
                model.ProductImages = product.ProductImages;
            }
            return(View(model));
        }
Esempio n. 13
0
        public ActionResult Edit(EditProductViewModel vm, HttpPostedFileBase file = null)
        {
            int productID = (Session["productId"]) != null ? (int)Session["productId"] : 0;
            var product   = repository.GetProductById(productID);

            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    vm.ImageData          = convertToByteArray(file);
                    product.ImageMimeType = file.ContentType;
                    product.ImageData     = vm.ImageData;
                }

                product.Name          = vm.Name;
                product.Description   = vm.Description;
                product.Category      = vm.Category.ToString();
                product.ProductColour = vm.ProductColour;
                product.Price         = vm.Price;
                repository.SaveChanges();
                TempData["message"] = string.Format($"{product.Name} has been saved");
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(vm));
            }
        }
        public async Task <ActionResult> Edit(EditProductViewModel product)
        {
            var command = new ChangePrice(product.Id, product.Price);
            await _productService.ExecuteAsync(command);

            return(RedirectToAction("Index"));
        }
Esempio n. 15
0
        // GET: Product/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            string userid = User.FindFirstValue(ClaimTypes.NameIdentifier);
            Klant  klant  = _context.Klanten.FirstOrDefault(k => k.UserId == userid);

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

            var product = await _context.Producten.Include(p => p.Productregels).
                          SingleOrDefaultAsync(x => x.ProductId == id);

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

            EditProductViewModel viewModel = new EditProductViewModel
            {
                Product                   = product,
                Ingredientenlijst         = new SelectList(_context.Ingredienten, "IngredientId", "Soort"),
                GeselecteerdeIngredienten = product.Productregels.Select(pr => pr.IngredientId)
            };

            return(View(viewModel));
        }
Esempio n. 16
0
        public EditProductViewModel Create(int id)
        {
            EditProductViewModel viewModel = new EditProductViewModel();

            viewModel.UpdateProductModel = new UpdateProductModel();

            var productDetails = getProductDetailsQuery.Execute(id);

            viewModel.ProductDetailsModel = productDetails;

            viewModel.UpdateProductModel.ProductID          = productDetails.ProductID;
            viewModel.UpdateProductModel.ProductName        = productDetails.ProductName;
            viewModel.UpdateProductModel.ProductTypeCode    = productDetails.ProductTypeCode;
            viewModel.UpdateProductModel.OtherDetails       = productDetails.OtherDetails;
            viewModel.UpdateProductModel.ProductDescription = productDetails.ProductDescription;
            viewModel.UpdateProductModel.ReorderLevel       = productDetails.ReorderLevel;
            viewModel.UpdateProductModel.ReorderQuantity    = productDetails.ReorderQuantity;
            viewModel.UpdateProductModel.UnitPrice          = productDetails.UnitPrice;

            var productTypesList = getProductTypesListQuery.Execute();

            viewModel.productTypesList = productTypesList.Select(p => new SelectListItem()
            {
                Value = p.ProductTypeCode.ToString(),
                Text  = p.ProductTypeDescription.ToString()
            })
                                         .ToList();


            return(viewModel);
        }
Esempio n. 17
0
        void prepareEditModel(EditProductViewModel model, int id)
        {
            PrepareViewModel(model, EvolutionResources.bnrAddEditProduct + (model.Product.Id > 0 ? " - " + model.Product.ItemName : ""), id, MakeMenuOptionFlags(0, 0, 0, 0, model.Product.Id) + MenuOptionFlag.RequiresNewProduct);

            model.ProductAvailabilityList = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.ProductAvailability);
            model.MaterialList            = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.Material);
            model.ABList            = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.AB);
            model.UserList          = MembershipManagementService.FindUserListItemModel();
            model.ProductStatusList = new List <ListItemModel>();
            foreach (var item in LookupService.FindLOVItemsModel(null, LOVName.ProductStatus))
            {
                model.ProductStatusList.Add(new ListItemModel {
                    Id = item.ItemValue1, Text = item.ItemText
                });
            }
            model.WebCategoryList    = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.WebCategory);
            model.WebSubCategoryList = LookupService.FindLOVItemsListItemModel(CurrentCompany, LOVName.WebSubCategory);

            model.MediaPath = MediaServices.GetProductImageFolder(true);

            var bc = new Evolution.BarCodeService.BarCodeService(db);

            model.Product.BarCodeFile1 = bc.GetBarCode(model.Product.BarCode, true);
            model.Product.BarCodeFile2 = bc.GetBarCode(model.Product.InnerBarCode, true);
            model.Product.BarCodeFile3 = bc.GetBarCode(model.Product.MasterBarCode, true);
        }
        public virtual ActionResult Edit(long?id)       // returns the viewmodel doesn't change anything
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            EditProductViewModel viewModel = ServiceFactory.Create <IProductService>()
                                             .FetchByIdAndProject(id.Value, a => new EditProductViewModel
            {
                Id          = a.Id,
                CategoryId  = a.CategoryId,
                Code        = a.Code,
                Description = a.Description,
                Name        = a.Name,
                Price       = a.Price,
                Version     = a.Version
            });

            if (viewModel == null)
            {
                return(HttpNotFound());
            }
            return(View(viewModel));
        }
Esempio n. 19
0
        public ActionResult CreateProduct(EditProductViewModel product)
        {
            //if (product.Price < 0)
            //{
            //    ModelState.AddModelError(string.Empty, "Preis darf nicht kleiner als Null sein");
            //    product.Price = db.Products.Find(product.ID).Price;
            //    return View(product);
            //}
            if (Session["Admin"] == null)
            {
                return(RedirectToAction("Login"));
            }
            if (ModelState.IsValid)
            {
                Product p = new Product
                {
                    Name          = product.Name,
                    CategoryID    = product.SelectedCategoryID,
                    IsInSortiment = product.IsInSortiment,
                    Price         = product.Price
                };
                db.Products.Add(p);

                db.SaveChanges();
                return(RedirectToAction("ListProducts"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Ungültige Daten");
            }
            return(View(product));
        }
Esempio n. 20
0
        public ResultViewModel Post([FromBody] EditProductViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return new ResultViewModel
                       {
                           Success = false,
                           Message = "Não foi possível cadastrar o produto!",
                           Data    = model.Notifications
                       }
            }
            ;
            Product product = new Product();

            product.Title          = model.Title;
            product.CategoryId     = model.CategoryId;
            product.CreateDate     = DateTime.Now; //nunca recebe esta informação é automática
            product.Descriptions   = model.Description;
            product.Image          = model.Image;
            product.LastUpdateDate = DateTime.Now;     // nunca recebe esta informação é automática
            product.Price          = model.Price;
            product.Quantity       = model.Quantity;
            _context.Products.Add(product);

            _context.SaveChanges();
            return(new ResultViewModel
            {
                Success = true,
                Message = "Produto Cadastrado com sucesso!",
                Data = product
            });
        }
Esempio n. 21
0
        public async Task <IActionResult> Edit(EditProductViewModel editProductViewModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(editProductViewModel));
            }

            try
            {
                await this.catalogService.EditProduct(editProductViewModel);

                return(this.RedirectToAction(nameof(Index), new { currentPage = editProductViewModel.FromPageNumber }));
            }
            catch (Refit.ApiException apiEx)
            {
                if (apiEx.HasContent)
                {
                    JsonConvert
                    .DeserializeObject <List <string> >(apiEx.Content)
                    .ForEach(error => this.ModelState.AddModelError(string.Empty, error));
                }
                else
                {
                    this.ModelState.AddModelError(string.Empty, ErrorConstants.InternalServerErrorMessage);
                }

                this.HandleException(apiEx);
            }

            return(this.View(editProductViewModel));
        }
        public ActionResult AddProduct(int?productVariantId, bool?confirm)
        {
            ProductVariant productVariant;

            if (productVariantId.HasValue)
            {
                ViewBag.EditMode = true;
                productVariant   = db.ProductsVariant.Find(productVariantId);
            }
            else
            {
                ViewBag.EditMode = false;
                productVariant   = new ProductVariant();
            }

            var result = new EditProductViewModel();

            result.Product        = db.Products.ToList();
            result.Size           = db.Sizes.ToList();
            result.Color          = db.Colors.ToList();
            result.ProductVariant = productVariant;
            result.Confirm        = confirm;

            return(View(result));
        }
Esempio n. 23
0
        public async Task <IActionResult> Create(string evtSlug)
        {
            var evt = await _dbContext.Events.SingleOrDefaultAsync(x => x.Slug == evtSlug);

            var user = await _userManager.GetUserAsync(User);

            if (evt == null)
            {
                _logger.LogInformation("Could not find event with slug '{slug}'", evtSlug);
                return(RedirectToAction("Index", "Events"));
            }

            if (!(await _authorizationService.AuthorizeAsync(User, evt, Policies.EventAdmin)).Succeeded)
            {
                return(Forbid());
            }

            var model = new EditProductViewModel
            {
                EventId   = evt.Id,
                EventSlug = evt.Slug,
                EventName = evt.Name
            };

            if (evt.DefaultMinimumBidAmount.HasValue)
            {
                model.MinimumBidAmount = evt.DefaultMinimumBidAmount.Value;
            }

            return(View(model));
        }
        public ActionResult EditProduct(int id)
        {
            AppDbContext dbContext = new AppDbContext();

            ProductModels         product    = dbContext.getProducts.SingleOrDefault(p => p.Id == id);
            ModelModels           model      = dbContext.getModels.SingleOrDefault(m => m.Id == product.ModelId);
            List <BrandModels>    brands     = dbContext.getBrands.ToList();
            List <CategoryModels> categories = dbContext.getCategories.ToList();
            List <ProductPhoto>   photos     = dbContext.getProductPhotos(product.Id).ToList();
            List <ModelModels>    models     = dbContext.getModelBrands(model.BrandId).ToList();
            EditProductViewModel  viewModel  = new EditProductViewModel
            {
                Id          = product.Id,
                Models      = models,
                ModelId     = product.ModelId,
                Brands      = brands,
                BrandId     = product.BrandId,
                Categories  = categories,
                CategoryId  = product.CategoryId,
                Price       = product.Price,
                Color       = product.Color,
                Storage     = product.Storage,
                Processor   = product.Processor,
                Memory      = product.Memory,
                Display     = product.Display,
                Details     = product.Details,
                CreatedBy   = product.CreatedBy,
                CreatedDate = product.CreatedDate,
                Photos      = photos
            };


            return(View(viewModel));
        }
Esempio n. 25
0
        public ResultViewModel Post([FromBody] EditProductViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return(new ResultViewModel
                {
                    Success = false,
                    Message = "Não foi possível cadastrar o produto.",
                    Data = model.Notifications
                });
            }

            var product = new Product();

            product.Title          = model.Title;
            product.CategoryId     = model.CategoryId;
            product.Description    = model.Description;
            product.Image          = model.Image;
            product.Price          = model.Price;
            product.Quantity       = model.Quantity;
            product.CreateDate     = DateTime.Now;
            product.LastUpdateDate = DateTime.Now;

            _repository.Save(product);

            return(new ResultViewModel
            {
                Success = true,
                Message = "Produto cadastrado com sucesso!",
                Data = product
            });
        }
Esempio n. 26
0
        public ActionResult Edit(EditProductViewModel model)
        {
            if (ModelState.IsValid)
            {
                var existingProduct = db.Products.Find(model.ID);
                existingProduct.Name          = model.Name;
                existingProduct.Description   = model.Description;
                existingProduct.OriginalPrice = model.OriginalPrice;
                existingProduct.SellingPrice  = model.SellingPrice;
                existingProduct.stock         = model.stock;
                existingProduct.Category      = null; //mark it null. Because the referncy key is changed below
                existingProduct.CategoryID    = model.CategoryID;
                //existingProduct.Category = db.Categories.Find(model.CategoryID);
                existingProduct.Tags      = model.Tags;
                existingProduct.UpdatedOn = DateTime.Now;
                //don't update imageURL if its empty
                if (!string.IsNullOrEmpty(model.ImageURL))
                {
                    existingProduct.ImageURL = model.ImageURL;
                }
                db.Entry(existingProduct).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }


            return(View(model));
        }
Esempio n. 27
0
        public IActionResult Edit(int id)
        {
            Product product = unitOfWork.Products.GetById(id);

            if (product == null)
            {
                ErrorViewModel errorVM = new ErrorViewModel
                {
                    RequestId = "Product Not Found"
                };
                return(View("Error", errorVM));
            }

            if (User.Identity.IsAuthenticated)
            {
                cartItems = unitOfWork.CartItems.GetUserCartItems(User.FindFirst(ClaimTypes.NameIdentifier).Value).ToList();
            }


            EditProductViewModel productVM = new EditProductViewModel(categories, cartItems)
            {
                Product        = unitOfWork.Products.GetProductWithRelatives(id),
                PaymentMethods = unitOfWork.Payments.GetAll().ToList(),
                tags           = new List <Tag>()
            };

            //ProductsTags[] productTags = productVM.Product.ProductsTags.ToArray();

            ProductsTags[] productTags = unitOfWork.ProductTag.GetAll().Where(pt => pt.ProductID == id).Include(p => p.Tag).ToArray();
            for (int i = 0; i < productTags.Count(); i++)
            {
                productVM.tags.Append(productTags[i].Tag);
            }
            return(View(productVM));
        }
Esempio n. 28
0
        public int EditProduct(EditProductViewModel model)
        {
            var edit = GetProduct(model.Id);

            edit.NameProduct = model.NameProduct;
            edit.Price       = model.Price;
            edit.ProductId   = model.Id;
            edit.Description = model.AddDescription;
            edit.CategoryId  = model.CategoryId;
            string FileImage = null;

            if (model.AvataPast != null)
            {
                if (!string.IsNullOrEmpty(edit.Avata) && (edit.Avata != "none-avatar.png"))
                {
                    string delFile = Path.Combine(webHost.WebRootPath, "images", edit.Avata);
                    System.IO.File.Delete(delFile);
                }
                string uploadsFolder = Path.Combine(webHost.WebRootPath, "images");
                FileImage = Guid.NewGuid().ToString() + "_" + model.AvataPast.FileName;
                string filePath = Path.Combine(uploadsFolder, FileImage);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.AvataPast.CopyTo(fileStream);
                }

                edit.Avata = FileImage;
            }
            return(context.SaveChanges());
        }
Esempio n. 29
0
        public ActionResult EditProduct(int productId)
        {
            ProductService       productService       = new ProductService();
            EditProductViewModel editProductViewModel = new EditProductViewModel();
            ProductModel         productModel         = new ProductModel();

            productModel = productService.Get(productId);

            editProductViewModel.Id         = productModel.Id;
            editProductViewModel.Title      = productModel.Title;
            editProductViewModel.Author     = productModel.Author;
            editProductViewModel.Price      = productModel.Price;
            editProductViewModel.Balance    = productModel.Balance;
            editProductViewModel.Detail     = productModel.Detail;
            editProductViewModel.Isbn       = productModel.Isbn;
            editProductViewModel.UpdateBy   = productModel.UpdateBy;
            editProductViewModel.UpdateTime = productModel.UpdateTime;
            editProductViewModel.Image      = productModel.Image;
            editProductViewModel.CategoryId = productModel.CategoryId;

            //var model = new AddProductViewModel();
            CategoryService      categoryService = new CategoryService();
            List <CategotyModel> categorys       = new List <CategotyModel>();

            categorys = categoryService.GetCategory();


            return(View(editProductViewModel));
        }
Esempio n. 30
0
        public IActionResult EditProduct(EditProductViewModel editProduct)
        {
            Product product = new Product();
            if (editProduct.ImageName == null)
            {
                if (editProduct.ExistingImageName != null)
                {
                    product.ImageName = editProduct.ExistingImageName;
                }
            }
            else
            {
                product.ImageName = editProduct.ImageName.FileName;
            }

            product.Id = editProduct.Id;
            product.Name = editProduct.Name;
            product.Description = editProduct.Description;
            product.Price = editProduct.Price;

            int result = _productRepository.EditProduct(product);

            if (result > 0 && editProduct.ImageName != null)
            {
                string folderName = this.UploadImageToFolder(editProduct.ImageName);
                var imgPath = Path.Combine(folderName, editProduct.ExistingImageName);
                if (System.IO.File.Exists(imgPath))
                {
                    System.IO.File.Delete(imgPath);
                }
            }

            return RedirectToAction("Index", "Home");
        }
 public void Init()
 {
     _editProductViewModel = new EditProductViewModel(_eventAggregatorMock.Object);
 }