internal ProductDetailsVM GetDetailsByID(int id) { ProductDetailsVM productToReturn = context.Products .Where(p => p.Id == id) .Select(p => new ProductDetailsVM { Name = p.Name, Description = p.Description, Brand = p.Brand, ImgUrl = p.ImgUrl, Price = p.Price, AVGRating = GetAVGRating(p.Rating), Ratings = p.Rating.Select(r => new ProductDetailsRatingVM { FirstName = r.User.FirstName, Comment = r.Comment, Rating = r.Rating1.Value, Id = r.Id }).OrderByDescending(x => x.Id) .ToArray() }) .OrderByDescending(o => o.Ratings) .Single(); return(productToReturn); }
private string FileUpload(ProductDetailsVM model) { string uniqueFileName = null; int index = model.ProductImage.FileName.LastIndexOf('\\'); if (index < 0) { index = 0; } else { index = index + 1; } if (model.ProductImage != null) { string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.ProductImage.FileName.Substring(index); string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.ProductImage.CopyTo(fileStream); } } return(uniqueFileName); }
public ActionResult ProductDetails(string slug) { var product = db.Products.FindBySlug(slug); product.SellingPrice = (float)Math.Round(product.SellingPrice, 2); product.DiscountedPrice = (float)Math.Round(product.DiscountedPrice, 2); var model = new ProductDetailsVM { Id = product.Id, Name = product.Name, Slug = product.Slug, BarcodeUrl = product.BarcodeUrl, Category = product.Category, Description = product.Description, DiscountedPrice = product.DiscountedPrice, ImageUrl = product.ImageUrl, IsOnSale = product.IsOnSale, PackSize = product.PackSize, Quantity = product.Quantity, DiscountedRate = product.IsOnSale ? product.DiscountedRate : 0, SellingPrice = product.SellingPrice }; return(View("ProductDetails", model)); }
public List <ProductDetailsVM> FindAllProductByCart(int cartId) { List <ProductDetailsVM> listProductDetailsVM = new List <ProductDetailsVM>(); var data = (from prod in _dbContext.productDetails join cartprod in _dbContext.CartProductsDetails on prod.Id equals cartprod.productId join brand in _dbContext.Brand on prod.BrandId equals brand.Id let BrandName = brand.Name where cartprod.CartId == cartId select new { prod.Battery, prod.BrandId, prod.DisplaySize, prod.Id, prod.Image, prod.isBluetoothSupport, prod.isWIFISupport, prod.Name, prod.OperatingSystem, prod.Price, prod.Processor, prod.SimDetails, prod.weight, BrandName, cartprod.quantity }).ToList(); foreach (var item in data) { ProductDetailsVM objProductDetailsVM = new ProductDetailsVM() { Battery = item.Battery, BrandName = item.BrandName, DisplaySize = item.DisplaySize, Id = item.Id, ImagePath = item.Image, isBluetoothSupport = item.isBluetoothSupport, isWIFISupport = item.isWIFISupport, Name = item.Name, OperatingSystem = item.OperatingSystem, price = item.Price, Quantity = item.quantity, }; listProductDetailsVM.Add(objProductDetailsVM); } return(listProductDetailsVM); }
public IActionResult Details(int?productId, int?carId) { if (productId == null) { return(NotFound()); } else if (carId == null) { return(NotFound()); } var product = _context.Product .Include(p => p.ProductCategory) .ThenInclude(cp => cp.Parent) .SingleOrDefault(m => m.Id == productId); if (product == null) { return(NotFound()); } var car = _context.Car.SingleOrDefault(c => c.Id == carId); if (car == null) { return(NotFound()); } var productVM = new ProductDetailsVM() { Id = product.Id, Name = product.Name, Description = product.Description, Price = product.Price, ImageUrl = product.ImageUrl, Category = new CategoryVM() { Id = product.ProductCategory.Id, Name = product.ProductCategory.Name, ParentName = product.ProductCategory.Parent.Name }, Car = new CarVM() { Id = car.Id, Make = car.Make, Model = car.Model, Variant = car.Variant, Body = car.Body, Type = car.Type, EngineCcm = car.EngineCcm, EngineHp = car.EngineHp, EngineKw = car.EngineKw, EngineFuel = car.EngineFuel, YearFrom = car.YearFrom, YearTo = car.YearTo } }; return(View(productVM)); }
public ActionResult Create(string Brand, ProductDetailsVM viewModel) { try { string uniqueFileName = FileUpload(viewModel); ProductDetails details = new ProductDetails { Battery = viewModel.Battery, DisplaySize = viewModel.DisplaySize, isBluetoothSupport = viewModel.isBluetoothSupport, isWIFISupport = viewModel.isWIFISupport, Name = viewModel.Name, OperatingSystem = viewModel.OperatingSystem, Processor = viewModel.Processor, SimDetails = viewModel.SimDetails, weight = viewModel.weight, Image = uniqueFileName, BrandId = int.Parse(Brand) }; _product.Create(details); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { return(View()); } }
public ActionResult Edit(int id, string Brand, ProductDetailsVM viewModel) { try { viewModel.BrandId = Convert.ToInt32(Brand); string uniqueFileName = viewModel.ImagePath; if (viewModel.ProductImage != null) { uniqueFileName = FileUpload(viewModel); } ProductDetails details = new ProductDetails { Id = viewModel.Id, Battery = viewModel.Battery, DisplaySize = viewModel.DisplaySize, isBluetoothSupport = viewModel.isBluetoothSupport, isWIFISupport = viewModel.isWIFISupport, Name = viewModel.Name, OperatingSystem = viewModel.OperatingSystem, Processor = viewModel.Processor, SimDetails = viewModel.SimDetails, weight = viewModel.weight, Image = uniqueFileName, BrandId = int.Parse(Brand), Price = viewModel.price }; _product.Update(details); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { return(View()); } }
public async Task <IActionResult> Details(string slug) { var product = await _productService.GetProduct(slug); if (product == null) // if product does not exist, redirect to products page { return(RedirectToAction(nameof(Index))); } var model = new ProductDetailsVM(product); return(View(model)); }
public ActionResult Edit(ProductDetailsVM productDetails) { var productToEdit = Mapper.Instance.Map <Product>(productDetails); productToEdit.ModifiedOn = DateTime.Now; if (ModelState.IsValid) { _shopRepository.EditProduct(productToEdit); return(RedirectToAction("Index", "Product")); } return(RedirectToAction("Error", "Shared")); }
private string FileUpload(ProductDetailsVM model) { string uniqueFileName = null; if (model.ProductImage != null) { string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.ProductImage.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.ProductImage.CopyTo(fileStream); } } return(uniqueFileName); }
public async Task <ActionResult> Details(int id) { ProductDetailsVM productInfo = new ProductDetailsVM(); HttpResponseMessage Res = await RequestServices.GetAsync(APIProductEndPoint.Details + id.ToString()); if (Res.IsSuccessStatusCode) { var product = Res.Content.ReadAsStringAsync().Result; productInfo = JsonConvert.DeserializeObject <ProductDetailsVM>(product); return(View(productInfo)); } return(View()); }
public IActionResult ProductDetails(int ID) // ID proizvoda { ProductDetailsVM model = _database.product.Where(s => s.ProductID == ID).Select(a => new ProductDetailsVM { ProductID = a.ProductID, ProductName = a.ProductName, ProductNumber = a.ProductNumber, SubCategoryName = a.SubCategory.SubCategoryName, ManufacturerName = a.Manufacturer.ManufacturerName, ImageUrl = a.ImageUrl, Description = a.Description, UnitPrice = a.UnitPrice, UnitsInStock = a.UnitsInStock }).SingleOrDefault(); return(View(model)); }
public ActionResult Details(int id) { ProductDetailsVM productDetails = new ProductDetailsVM(); HttpResponseMessage response3 = client.GetAsync("http://shirleyomda-001-site1.etempurl.com/odata/Stores").Result; string Result = response3.Content.ReadAsStringAsync().Result; RootObject <Store> stores = JsonConvert.DeserializeObject <RootObject <Store> >(Result); productDetails.stores = stores.Value.Where(b => b.productID == id); ProductBillVM productBillVM = new ProductBillVM(); HttpResponseMessage response = client.GetAsync("http://shirleyomda-001-site1.etempurl.com/odata/Products").Result; Result = response.Content.ReadAsStringAsync().Result; RootObject <Product> products = JsonConvert.DeserializeObject <RootObject <Product> >(Result); productDetails.product = products.Value.FirstOrDefault(b => b.productID == id); return(View(productDetails)); }
public IActionResult Details(int id) { if (id != null || id != 0) { //var foundProduct = _unitOfWork.productRepository.GetbyId(id); var foundProduct = _unitOfWork.productRepository.GetFirstorDefault("ProductType", x => x.ID == id); ProductDetailsVM model = new ProductDetailsVM(); model.Product_Name = foundProduct.Product_Name; model.Product_Price = foundProduct.Product_Price; model.Company = foundProduct.Company; model.Product_ImageUrl = foundProduct.Product_Image; //set image full path model.ImageFullPath = FileHelper.GetImageFullPathForImage(_webHostEnvironment.WebRootPath, foundProduct.ProductType.Type_Name, foundProduct.Product_Image); model.Product_Type = foundProduct.ProductType.Type_Name; model.Id = id; return(View(model)); } return(View());//not found view }
public async Task <IActionResult> ProductDetails(int id, int productPage = 1) { var product = await _productService.Get(id); var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); var productDetailsVM = new ProductDetailsVM() { Product = product, Comment = new Comment() { ProductId = id, UserId = claim.Value }, }; var rate = await _rateService.Get(x => x.UserId == claim.Value && x.ProductId == id); if (!(rate is null)) { productDetailsVM.Rate = rate; }
// GET: ProductDetailsController/Edit/5 public ActionResult Edit(int id) { var product = _product.FindById(id); ViewBag.Brand = new SelectList(_brand.FindAll(), "Id", "Name", product.BrandId); ProductDetailsVM details = new ProductDetailsVM { Battery = product.Battery, DisplaySize = product.DisplaySize, isBluetoothSupport = product.isBluetoothSupport, isWIFISupport = product.isWIFISupport, Name = product.Name, OperatingSystem = product.OperatingSystem, Processor = product.Processor, SimDetails = product.SimDetails, weight = product.weight, ImagePath = product.Image, BrandId = product.BrandId, price = product.Price }; return(View(details)); }
public ActionResult Delete(ProductDetailsVM productVMToDel) { _shopRepository.DeleteProduct(productVMToDel.Id); return(RedirectToAction("Index", "Product")); }