public IActionResult ProductShow(int id) { //var productVM = new ProductShowViewModel(); //var productTypes = _productTypeBLL.GetAll(); var product = _productBLL.GetByid(id); var productVM = ProductShowViewModel.FromModel(product); return(View(productVM)); }
public async Task <ProductShowViewModel> GetWithRelatedData(Guid id) { Product product = await _repository.Products.GetWithRelatedData(id); product.Bids.OrderByDescending(i => i.BidPrice); product.Bids.Take(10); List <string> img = new List <string>(); foreach (var image in product.Image) { img.Add(image.ImgPath); } List <BidFrontEnd> bids = new List <BidFrontEnd>(); foreach (var Bid in product.Bids) { BidFrontEnd bid = new BidFrontEnd { BidPrice = Bid.BidPrice, BidTime = DateTime.Now, UserId = new Guid(Bid.ApplicationUser.Id), UserName = Bid.ApplicationUser.UserName, userAddress = Bid.ApplicationUser.User.Address, userImage = Bid.ApplicationUser.User.Image, ProductId = product.Id }; bids.Add(bid); } ProductShowViewModel model = new ProductShowViewModel { posterId = new Guid(product.ApplicationUserId), userId = new Guid(product.ApplicationUser.Id), userName = product.ApplicationUser.UserName, userAddress = product.ApplicationUser.User.Address, userImage = product.ApplicationUser.User.Image, userPhone = product.ApplicationUser.User.Phone, StartDateTime = product.StartDateTime.Value, EndDateTime = product.EndDateTime.Value, ProductName = product.ProductName, ProductDescription = product.ProductDescription, Quantity = product.Quantity, BasePrice = product.BasePrice, ContactInfo = product.ContactInfo, CategoryId = product.Category.Id, CategoryName = product.Category.CategoryName, CityId = product.City.Id, CityName = product.City.CityName, Image = img.ToList(), Bids = bids.ToList() }; return(model); }
public IHttpResponse CakeDetails(ProductShowViewModel model) { if (!IsAuthenticated()) { ViewData["visible"] = "bloc"; ViewData["title"] = "Login"; return(View("account/login")); } //var cakeId = Request.QueryData["id"].ToString().Trim(); //var id = int.Parse(cakeId); if (model.Id == 0) { var message = "Invalid request."; return(BadRequestError(message)); } using (Db) { var cake = Db.Products .Where(c => c.Id == model.Id) .Select(c => new ProductDetailsViewModel { Name = c.Name, Price = c.Price, ImageUrl = c.ImageUrl }) .First(); if (cake == null) { ViewData["title"] = "Home"; return(View("home/index")); } ViewData["cakeName"] = cake.Name; ViewData["cakeId"] = model.Id.ToString(); ViewData["cakePrice"] = cake.Price.ToString(CultureInfo.InvariantCulture); ViewData["pictureUrl"] = cake.ImageUrl; ViewData["title"] = "Cake Details"; } return(View("products/cakeDetails")); }
public async Task <IActionResult> AddProduct(ProductShowViewModel model) { ViewBag.ParentId = new SelectList(_db.ProductCatalogs.CatalogDll(), "value", "label"); if (!ModelState.IsValid) { return(View(model)); } var isExist = await _db.Products.IsExistAsync(model.ProductName, model.ProductCatalogId).ConfigureAwait(false); if (!isExist) { _db.Products.AddCustom(model); await _db.SaveChangesAsync(); return(RedirectToAction("AddProduct")); } ModelState.AddModelError("ProductName", "Product Name Already Exist"); return(View(model)); }