public JsonResult Update(ProductDetailView vm)
        {
            GetProductRequest request = new GetProductRequest();

            request.ProductID = vm.ProductID;

            ModifyProductRequest updateRequest = _productService.GetProduct(request).Product.ConvertToModifyProductRequest();

            updateRequest.ProductID   = vm.ProductID;
            updateRequest.ProductName = vm.ProductName;
            GetSupplierRequest supplierRequest = new GetSupplierRequest();

            supplierRequest.SupplierID = vm.SupplierSupplierID;
            updateRequest.Supplier     = _supplierService.GetSupplier(supplierRequest).Supplier;
            GetCategoryRequest categoryRequest = new GetCategoryRequest();

            categoryRequest.CategoryID    = vm.CategoryCategoryID;
            updateRequest.Category        = _categoryService.GetCategory(categoryRequest).Category;
            updateRequest.QuantityPerUnit = vm.QuantityPerUnit;
            updateRequest.UnitPrice       = vm.UnitPrice;
            updateRequest.UnitsInStock    = vm.UnitsInStock;
            updateRequest.UnitsOnOrder    = vm.UnitsOnOrder;
            updateRequest.ReorderLevel    = vm.ReorderLevel;
            updateRequest.Discontinued    = vm.Discontinued;

            ModifyProductResponse response = _productService.ModifyProduct(updateRequest);

            return(Json(response));
        }
示例#2
0
        public ResponseView <ProductDetailView> GetProduct(int productId, int skuId)
        {
            var model = _productRepository.GetProduct(productId, skuId);
            var data  = ProductDetailView.ToView(model);

            return(base.OutPutBrokenResponseView(data));
        }
        public ProductDetailView Detail(int id)
        {
            System.Web.Mvc.ViewResult viewResult = (System.Web.Mvc.ViewResult) this.productController.Detail(id);

            ProductDetailView productSearchResultView = (ProductDetailView)viewResult.ViewData.Model;

            return(productSearchResultView);
        }
示例#4
0
        private void DetailShow(int productId)
        {
            var productDetail = Products.Single(x => x.ProductId == productId);
            var view          = new ProductDetailView()
            {
                DataContext = productDetail
            };

            view.ShowDialog();
        }
        public ProductDetailPageView GetProductDetailPageViewFor(int ProductId)
        {
            ProductDetailView          product    = _productService.GetProductBy(ProductId).ConvertToProductDetailView();
            IEnumerable <CategoryView> categories = _productService.GetAllCategories().ConvertToCategoryViewList();

            ProductDetailPageView productDetailPageViewModel = new ProductDetailPageView {
                Product = product, Categories = categories
            };

            return(productDetailPageViewModel);
        }
        public static ProductDetailView ConvertToProductDetailView(this Product product)
        {
            ProductDetailView productView = new ProductDetailView();

            productView.Name        = product.Name;
            productView.Id          = product.Id.ToString();
            productView.Price       = String.Format("{0:c}", product.Price);
            productView.Description = product.Description;

            return(productView);
        }
示例#7
0
        public ActionResult Edit(string id, ProductDetailView productDetailView)
        {
            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("Product_Update");
            if (!hasPermission)
            {
                ModelState.AddModelError("", "AccessDenied");
                return(View(productDetailView));
            }
            #endregion

            productDetailView.EmployeeView = GetEmployee();

            if (ModelState.IsValid)
            {
                try
                {
                    EditProductRequestOld request = new EditProductRequestOld();

                    request.ID = Guid.Parse(id);
                    request.ModifiedEmployeeID = GetEmployee().ID;
                    request.Discontinued       = productDetailView.ProductView.Discontinued;
                    request.ProductName        = productDetailView.ProductView.ProductName;
                    request.Discontinued       = productDetailView.ProductView.Discontinued;
                    request.ProductCategoryID  = productDetailView.ProductView.ProductCategoryID;
                    request.ProductCode        = productDetailView.ProductView.ProductCode;
                    request.Note         = productDetailView.ProductView.Note;
                    request.UnitsInStock = productDetailView.ProductView.UnitsInStock;
                    request.RowVersion   = productDetailView.ProductView.RowVersion;

                    GeneralResponse response = this._productService.EditProduct(request);

                    if (response.success)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        foreach (string error in response.ErrorMessages)
                        {
                            ModelState.AddModelError("", error);
                        }
                        return(View(productDetailView));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(productDetailView));
                }
            }

            return(View(productDetailView));
        }
示例#8
0
        public void GetDetail_Sucessfull()
        {
            ProductBiz productBiz = new ProductBiz(_mockUnit.Object);
            var        result     = productBiz.GetDetailAsync(_existedProductId);

            Assert.NotNull(result);
            Assert.IsTrue(result.Result.GetType() == typeof(ProductDetailView));

            ProductDetailView productView = (ProductDetailView)result.Result;

            Assert.IsTrue(productView.ProductOptions.Count == 2);
        }
        public ActionResult Detail(int id)
        {
            ProductDetailView productDetailView = new ProductDetailView();
            GetProductRequest request           = new GetProductRequest()
            {
                ProductId = id
            };
            GetProductResponse response    = _productService.GetProduct(request);
            ProductView        productView = response.Product;

            productDetailView.Product    = productView;
            productDetailView.Categories = base.GetCategories();
            return(View(productDetailView));
        }
示例#10
0
        public ActionResult Detail(int id)
        {
            ProductDetailView productDetailView = new ProductDetailView();
            GetProductRequest request = new GetProductRequest() { ProductId = id };
            GetProductResponse response = _productService.GetProduct(request);

            ProductView productView = response.Product;

            productDetailView.Product = productView;
            productDetailView.BasketSummary = base.GetBasketSummaryView();
            productDetailView.Categories = base.GetCategories();

            return View(productDetailView);
        }
        public JsonResult GetDetail(System.Int32 id)
        {
            ProductDetailView vm      = new ProductDetailView();
            GetProductRequest request = new GetProductRequest();

            request.ProductID = id;
            GetProductResponse response = _productService.GetProduct(request);

            if (response.ProductFound)
            {
                vm = response.Product.ConvertToProductDetailView();
            }

            return(Json(vm, JsonRequestBehavior.AllowGet));
        }
示例#12
0
        public IActionResult Detail(int id)
        {
            ProductDetailView productDetailView = new ProductDetailView();
            GetProductRequest request           = new GetProductRequest
            {
                ProductId = id
            };
            GetProductResponse response    = _cachedProductCatalogService.GetProduct(request);
            ProductView        productView = response.Product;

            productDetailView.Product       = productView;
            productDetailView.BasketSummary = GetBasketSummaryView();
            productDetailView.Categories    = GetCategories();

            return(View(productDetailView));
        }
示例#13
0
        public ActionResult <ProductDetailView> Detail(int id)
        {
            var productDetailView = new ProductDetailView();
            var request           = new GetProductRequest()
            {
                ProductId = id
            };
            var response    = _productService.GetProduct(request);
            var productView = response.Product;

            productDetailView.Product       = productView;
            productDetailView.BasketSummary = base.GetBasketSummaryView();
            productDetailView.Categories    = base.GetCategories();

            return(productDetailView);
        }
        public ActionResult Detail(int id)
        {
            var productDetailView = new ProductDetailView();

            var request = new GetProductRequest()
            {
                ProductId = id
            };

            var response = _productCatalogService.GetProduct(request);

            productDetailView.Product = response.Product;

            ViewBag.Categories = GetCategories();

            return(View(productDetailView));
        }
示例#15
0
        public ActionResult Create()
        {
            ProductDetailView productDetailView = new ProductDetailView();

            productDetailView.EmployeeView = GetEmployee();

            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("Product_Insert");
            if (!hasPermission)
            {
                ModelState.AddModelError("", "AccessDenied");
                return(View(productDetailView));
            }
            #endregion

            return(View(productDetailView));
        }
示例#16
0
        public ActionResult Delete(string id)
        {
            ProductDetailView productDetailView = new ProductDetailView();

            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("Product_Delete");
            if (!hasPermission)
            {
                ModelState.AddModelError("", "AccessDenied");
                return(View(productDetailView));
            }
            #endregion

            productDetailView.ProductView  = this.GetProductView(id);
            productDetailView.EmployeeView = GetEmployee();

            return(View(productDetailView));
        }
 public IActionResult Index(string link)
 {
     try
     {
         List <string> lsData = link.Split(".").ToList();
         if (lsData.Count() != 2)
         {
             return(RedirectToAction("index", "Home"));
         }
         string  linkUrl = lsData[0];
         int     id      = int.Parse(lsData[1]);
         Product pro     = db.Products.Where(x => x.Url == linkUrl && x.Id == id).Include(x => x.Category).Include(x => x.BrandProduct).Include(x => x.Product_Media).Include("Product_Media.Media").Include(i => i.Product_ProductStatus).Include("Product_ProductStatus.ProductStatus").Include(x => x.Machine).Include(x => x.Band).Include(x => x.Strap).Include(x => x.ColorClockFace).Include(x => x.MadeIn).Include(x => x.Style).Include(x => x.Waterproof).Include(i => i.Reviews).Include("Reviews.ApplicationUser").FirstOrDefault();
         if (pro != null)
         {
             List <Product> lsSanPhamMoiCungLoai = db.Products.Where(x => x.CategoryId == pro.CategoryId && x.BrandProductId == pro.BrandProductId).OrderByDescending(x => x.CreateDate.Value).Include(x => x.Product_Media).Include("Product_Media.Media").Include(i => i.Product_ProductStatus).Include("Product_ProductStatus.ProductStatus").Include(x => x.Reviews).Take(5).ToList();
             List <Product> lsSanPhamMoiTuongTu  = db.Products.Where(x => x.CategoryId == pro.CategoryId || x.BrandProductId == pro.BrandProductId || x.MachineId == pro.MachineId || x.BandId == pro.BandId || x.MadeInId == pro.MadeInId || x.StyleId == pro.StyleId || x.WaterproofId == pro.WaterproofId).OrderByDescending(x => x.CreateDate.Value).Include(x => x.Product_Media).Include("Product_Media.Media").Include(i => i.Product_ProductStatus).Include("Product_ProductStatus.ProductStatus").Include(x => x.Reviews).Take(5).ToList();
             List <Product> lsGiamGia            = db.Products.Where(x => x.Product_ProductStatus.Where(z => z.ProductStatusId == 4).Count() > 0 && x.PriceDiscount.HasValue && x.DiscountDateFrom.HasValue && x.DiscountDateTo.HasValue).OrderByDescending(x => x.CreateDate.Value).Include(x => x.Product_Media).Include("Product_Media.Media").Include(i => i.Product_ProductStatus).Include("Product_ProductStatus.ProductStatus").Include(x => x.Reviews).Take(5).ToList();
             if (pro != null)
             {
                 pro.ViewsCount += 1;
                 db.Products.Update(pro);
                 db.SaveChanges();
             }
             List <Category>   cat      = db.Category.Take(10).ToList();
             ProductDetailView dataView = new ProductDetailView()
             {
                 ProductDetail   = pro,
                 SanPhamCungLoai = lsSanPhamMoiCungLoai,
                 SanPhamTuongTu  = lsSanPhamMoiTuongTu,
                 SanPhamGiamGia  = lsGiamGia,
                 DanhMucKhac     = cat
             };
             return(View(dataView));
         }
         else
         {
             return(RedirectToAction("index", "Home"));
         }
     }
     catch
     {
         return(RedirectToAction("index", "Home"));
     }
 }
示例#18
0
        public async Task <bool> CreateProductAsync(ProductDetailView productView)
        {
            if (productView == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { product = "Unable to get data " });
            }

            Product p = new Product()
            {
                Id                 = 0,
                Name               = productView.Name,
                Description        = productView.Description,
                BasePrice          = productView.BasePrice,
                MaxAllowedOrderQty = productView.MaxAllowedOrderQty,
            };

            _unitOfWork.ProductRepository.Add(p);

            if (productView.ProductOptions != null)
            {
                foreach (ProductOptionView optV in productView.ProductOptions)
                {
                    ProductOption opt = new ProductOption()
                    {
                        Product           = p,
                        OptionDescription = optV.OptionDescription,
                        AdditionalCost    = optV.AdditionalCost,
                        Id = 0
                    };
                    _unitOfWork.ProductOptionRepository.Add(opt);
                }
            }
            var success = await _unitOfWork.SaveAsync() > 0;

            if (success)
            {
                return(success);
            }
            else
            {
                throw new RestException(HttpStatusCode.InternalServerError, new { order = "Unable to save order" });
            };
        }
示例#19
0
        //GET: Stock
        public ActionResult GetCurrentStock(int?id)
        {
            var stock = _context.Stock.FirstOrDefault(x => x.StockId == id);

            var product = _context.Products
                          .FirstOrDefault(m => m.ProductId == stock.ProductId);

            var color = _context.Color.FirstOrDefault(m => m.ColorId == stock.ColorId);
            var size  = _context.Size.FirstOrDefault(m => m.SizeId == stock.SizeId);

            var productDetailView = new ProductDetailView();

            productDetailView.Product = product;
            productDetailView.Colors  = color;
            productDetailView.Sizes   = size;
            productDetailView.Stock   = stock;

            return(View(productDetailView));
        }
示例#20
0
        public ActionResult ViewDetail(int productID)
        {
            var products = from x in db.Products.Where(i => i.ProductID == productID)
                           select new ProductDetailView
            {
                productID           = x.ProductID,
                productName         = x.ProductName,
                productManufacturer = x.Manufacturer.ManufacturerName,
                productImages       = x.ProductImages.Select(i => i.ImagePath).ToList(),
                productColor        = x.ProductColors.Select(i => i.ColorName).ToList(),
                productPrice        = x.SellingPrice.Value,
                Screen          = x.ProductDetails.FirstOrDefault().Screen,
                OS              = x.ProductDetails.FirstOrDefault().OS,
                FrontCamera     = x.ProductDetails.FirstOrDefault().FrontCamera.Value,
                RearCamera      = x.ProductDetails.FirstOrDefault().RearCamera.Value,
                CPU             = x.ProductDetails.FirstOrDefault().CPU,
                RAM             = x.ProductDetails.FirstOrDefault().RAM,
                MemoryCard      = x.ProductDetails.FirstOrDefault().MemoryCard,
                SIMCard         = x.ProductDetails.FirstOrDefault().SIMCard,
                Connection      = x.ProductDetails.FirstOrDefault().Connection,
                Battery         = x.ProductDetails.FirstOrDefault().Battery,
                InternalStorage = x.ProductDetails.FirstOrDefault().InternalStorage,
                Weight          = x.ProductDetails.FirstOrDefault().Weight.Value,
            };

            ViewBag.commentList = (from x in db.Comments.Where(i => i.ProductID == productID).OrderByDescending(i => i.CreatedDate).Take(5)
                                   select new
            {
                userName = x.User.UserName,
                commentDate = x.CreatedDate,
                commentContent = x.Comment1
            }).ToList().Select(i => new CommentModel {
                userName       = i.userName,
                commentDate    = i.commentDate.Value.ToString("dd/MM/yyyy"),
                commentContent = i.commentContent
            }).ToList();
            ProductDetailView productDetail = products.SingleOrDefault();

            return(View(productDetail));
        }
示例#21
0
        public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
        {
            UIAlertController okAlertController = UIAlertController.Create("Row " + indexPath + " selected", _products[indexPath.Row].ProductName, UIAlertControllerStyle.Alert);

            okAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));

            string productName  = ProductList.GetProductList[indexPath.Row].ProductName;
            string productBrand = ProductList.GetProductList[indexPath.Row].ProductBrand;

            ProductDetailView _detail = new ProductDetailView(productName, productBrand);

            //var ProductData = NSUserDefaults.StandardUserDefaults;
            //ProductData.SetString(productName,"ProductName");

            //var ProductData = NSUserDefaults.StandardUserDefaults;
            //UserData.SetString(productName, "ProductName");

            //_owner.InvokeDetail();
            _owner.PresentViewController(_detail, true, null);

            tableView.DeselectRow(indexPath, true);
        }
示例#22
0
        public async Task <ProductDetailView> GetDetailAsync(int productId)
        {
            var productInfo = await _unitOfWork.ProductRepository.GetAsync(productId);

            if (productInfo == null)
            {
                throw new RestException(HttpStatusCode.NotFound, new { customer = "Not found" });
            }

            ProductDetailView result = new ProductDetailView()
            {
                Id                 = productInfo.Id,
                BasePrice          = productInfo.BasePrice,
                Description        = productInfo.Description,
                MaxAllowedOrderQty = productInfo.MaxAllowedOrderQty,
                Name               = productInfo.Name
            };

            //Get Options
            var options = await _unitOfWork.ProductOptionRepository.GetByProductAsync(productId);

            if (options != null)
            {
                List <ProductOptionView> optViews = new List <ProductOptionView>();
                foreach (var opt in options)
                {
                    ProductOptionView optView = new ProductOptionView()
                    {
                        AdditionalCost    = opt.AdditionalCost,
                        Id                = opt.Id,
                        OptionDescription = opt.OptionDescription
                    };
                    optViews.Add(optView);
                }
                result.ProductOptions = optViews;
            }

            return(result);
        }
        public JsonResult Create(ProductDetailView vm)
        {
            CreateProductRequest request = new CreateProductRequest();

            request.ProductName = vm.ProductName;
            GetSupplierRequest supplierRequest = new GetSupplierRequest();

            supplierRequest.SupplierID = vm.SupplierSupplierID;
            request.Supplier           = _supplierService.GetSupplier(supplierRequest).Supplier;
            GetCategoryRequest categoryRequest = new GetCategoryRequest();

            categoryRequest.CategoryID = vm.CategoryCategoryID;
            request.Category           = _categoryService.GetCategory(categoryRequest).Category;
            request.QuantityPerUnit    = vm.QuantityPerUnit;
            request.UnitPrice          = vm.UnitPrice;
            request.UnitsInStock       = vm.UnitsInStock;
            request.UnitsOnOrder       = vm.UnitsOnOrder;
            request.ReorderLevel       = vm.ReorderLevel;
            request.Discontinued       = vm.Discontinued;
            CreateProductResponse response = _productService.CreateProduct(request);

            return(Json(response));
        }
示例#24
0
        // GET: Products/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            var productDetailView = new ProductDetailView();

            var product = await _context.Products
                          .FirstOrDefaultAsync(m => m.ProductId == id);


            List <Color> colors = new List <Color>();
            List <Size>  sizes  = _context.Size.ToList();

            //colors = _context.Color.ToList();
            //sizes = _context.Size.ToList();

            List <Stock> stocks = new List <Stock>();

            stocks = (_context.Stock.ToList().FindAll(m => m.ProductId == id));



            foreach (var item in stocks)
            {
                colors.Add(_context.Color.ToList().First(x => x.ColorId == item.ColorId));
            }



            ViewData["colors"] = colors;
            ViewData["sizes"]  = sizes;
            ViewData["stocks"] = stocks;

            productDetailView.Product = product;
            //productDetailView.Stock = stocks;

            return(View(productDetailView));
        }
示例#25
0
        public ActionResult Delete(string id, FormCollection collection)
        {
            ProductDetailView productDetailView = new ProductDetailView();

            #region Access Check
            bool hasPermission = GetEmployee().IsGuaranteed("Product_Delete");
            if (!hasPermission)
            {
                ModelState.AddModelError("", "AccessDenied");
                return(View(productDetailView));
            }
            #endregion

            productDetailView.ProductView  = this.GetProductView(id);
            productDetailView.EmployeeView = GetEmployee();

            DeleteRequest request = new DeleteRequest()
            {
                ID = Guid.Parse(id)
            };

            GeneralResponse response = this._productService.DeleteProduct(request);

            if (response.success)
            {
                return(RedirectToAction("Index"));
            }
            else
            {
                foreach (string error in response.ErrorMessages)
                {
                    ModelState.AddModelError("", error);
                }
                return(View(productDetailView));
            }
        }