Esempio n. 1
0
        public IActionResult RemoveFromCart(int productId, bool removeAll = false)
        {
            //ürünü çek
            var dataResult = _productService.GetById(productId);

            ProductDetailDto productDetailDto = dataResult.Data;
            //sessiondaki sepeti çek
            var cart = _cartSessionHelper.GetCart("cart");

            //productId ye ait satırı bulduk
            var cartLine = cart.CartLines.FirstOrDefault(c => c.Product.ProductId == productId);//linq

            //sayısı birden fazla ise ya da hepsini kaldır ise
            if (cartLine.Quantity == 1 || removeAll)
            {
                //carttan ilgili ürünü sil
                _cartService.RemoveFromCart(cart, productId);
                TempData.Add(TempDataTypes.RemovedFromCart, productDetailDto.Product.ProductName + " sepetten silindi!");
            }
            else
            {
                cartLine.Quantity--;
                TempData.Add(TempDataTypes.DecreasedFromCart, "Sepetten bir adet " + productDetailDto.Product.ProductName + " silindi!");
            }

            //sessiona cartı yeniden ekledik
            _cartSessionHelper.SetCart("cart", cart);

            //alttaki sayfaya yönlendirdik yani aynı sayfaya
            return(RedirectToAction("Index", "Cart"));
        }
Esempio n. 2
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (aaa != null)
            {
                this.model = aaa;
            }
            else
            {
                this.model = new ProductDetailDto();
            }

            this.DataContext = this.model;



            var list  = _productService.GetAllProductNum();
            var list1 = list.Select <ProductDto, ComboBoxItem>(p => new ComboBoxItem {
                Key = p.ITEM_CD, Value = p.ID
            }).ToList();

            this.ddlITEM_CD.ItemsSource = list1;

            //ddlITEM_CD.SelectedItem
            // ddlITEM_CD.Items = List<>;
            this.ddlSLOT_SITE.ItemsSource = SLOT_SITE.一.ToArrayList();
            //  this.ddlSLOT_TY.ItemsSource = Enum_SLOT_TY.TrayA.ToArrayList();
        }
Esempio n. 3
0
        public ActionResult Edit(int id = 0)
        {
            ProductDetailDto product = new ProductDetailDto();

            if (id > 0)
            {
                product = _productService.Get(id).ToProductDetailDto();
                if (product != null)
                {
                    var files = _productService.GetProductFiles(id, Enums.FileType.All);
                    product.CoverImages       = files.Where(f => f.Type == (int)Enums.FileType.DetailBanner).Select(f => f.Url).ToList();
                    product.DetailImages      = files.Where(f => f.Type == (int)Enums.FileType.Detail).Select(f => f.Url).ToList();
                    product.AttributeIdSet    = _productService.GetFeatureValueIds(id);
                    product.FeatureWithValues = _featureService.GetFeatureWithValues();
                }
            }
            else
            {
                product.CoverImages       = new List <string>();
                product.DetailImages      = new List <string>();
                product.AttributeIdSet    = new List <int>();
                product.FeatureWithValues = _featureService.GetFeatureWithValues();
            }
            return(View(product));
        }
Esempio n. 4
0
        public int InsertProductdetailInfo(ProductDetailDto detail)
        {
            string sql = $@"INSERT INTO productdetail  (id,slot_ty,slot_site,slot_xaxis,slot_yaxis,slot_zaxis,slot_rxaxis,slot_ryaxis,slot_rzaxis,slot_fig,slot_remark,brightness_1,brightness_2,brightness_3,brightness_4 ,crt_dt)  
                            VALUES  (
                               '{ detail.ID}',                          
                               { detail.SLOT_TY},
                               { detail.SLOT_SITE},
                               {detail.SLOT_xAxis},
                               {detail.SLOT_yAxis},
                               { detail.SLOT_zAxis},
                               { detail.SLOT_rxAxis},
                               { detail.SLOT_ryAxis},
                               { detail.SLOT_rzAxis},
                               '{ detail.SLOT_Fig}',
                               '{ detail.SLOT_Remark}',
                               {detail.Brightness_1},
                               {detail.Brightness_2},
                               {detail.Brightness_3},
                               {detail.Brightness_4},
                               '{ detail.CRT_DT}'
                         )";
            var    r   = _db.ExecuteNonQuery(CommandType.Text, sql);

            return(r);
        }
Esempio n. 5
0
        public ActionResult Update(ProductDetailDto model)
        {
            if (model == null)
            {
                return(View("Error"));
            }

            List <ProductImageDto> images = UploadImage(model);

            model.Images = images;

            var dto = new ProductDto();

            Mapper.PropertyMap(model, dto);

            model.Images?.ForEach(i =>
            {
                var imageDto = new ImageDto();
                Mapper.PropertyMap(i, imageDto);
                dto.Images.Add(imageDto);
            });

            var result = _productService.UpdateProduct(dto);

            if (result)
            {
                return(RedirectToAction("Index", "Management"));
            }

            ModelState.AddModelError("", "Invalid Process");
            return(View());
        }
Esempio n. 6
0
        public ActionResult Edit(ProductDetailDto dto, string bannerImgList, string coverImg, string detailImg)
        {
            try
            {
                dto.CoverUrl     = coverImg;
                dto.DetailImages = new List <string> {
                    detailImg
                };
                dto.CoverImages = bannerImgList.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                if (dto.Id == 0)
                {
                    _productService.Add(dto);
                }
                else
                {
                    _productService.UpdateDetail(dto);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Esempio n. 7
0
        private List <ProductImageDto> UploadImage(ProductDetailDto model)
        {
            var images = new List <ProductImageDto>();

            if (!model.Files.IsNotNullAndAny())
            {
                return(images);
            }

            foreach (var file in model.Files)
            {
                var imageName = Guid.NewGuid() + ".jpg";

                var  subPath = "~/Content/ProductImages/";
                bool exists  = Directory.Exists(Server.MapPath(subPath));

                if (!exists)
                {
                    Directory.CreateDirectory(Server.MapPath(subPath));
                }

                var url = Path.Combine(Server.MapPath(subPath + imageName));
                file.SaveAs(url);

                images.Add(
                    new ProductImageDto()
                {
                    Name = model.Name,
                    Path = imageName
                });
            }
            return(images);
        }
        public ActionResult <ProductDetailDto> CreateProductDetail([FromBody] ProductDetailDto productdetail)
        {
            productdetail.SizeId    = productdetail.Size.Id;
            productdetail.Size      = null;
            productdetail.ColorId   = productdetail.Color.Id;
            productdetail.Color     = null;
            productdetail.ProductId = productdetail.Product.Id;
            productdetail.Product   = null;

            var productdetailDto = _productdetailService.CreateProductDetail(productdetail);

            if (productdetailDto == null)
            {
                List <string> errorMessage = new List <string>();
                errorMessage.Add("Đã phát sinh lỗi, vui lòng thử lại");
                return(BadRequest(new ResponseDto(errorMessage, 500, productdetailDto)));
            }

            List <string> successMessage = new List <string>();

            successMessage.Add("Thêm thông tin thành công");
            var responseDto = new ResponseDto(successMessage, 200, productdetailDto);

            return(Ok(responseDto));
        }
Esempio n. 9
0
        public IResult Add(ProductDetailDto productDetailDto)
        {
            try
            {
                int productId = _productDal.Add(productDetailDto.Product);
                //   Thread.Sleep(500);

                /*   var productId = _productDal.Get(p=>
                 *                                      p.ProductName == productDetailDto.Product.ProductName
                 *                                      && p.UnitPrice == productDetailDto.Product.UnitPrice
                 *                                      && p.BrandId == productDetailDto.Product.BrandId
                 *                                      && p.CategoryId == productDetailDto.Product.CategoryId).ProductId;*/

                foreach (var productPhotoPath in productDetailDto.ProductPhotoPaths)
                {
                    productPhotoPath.ProductId = productId;
                    _productPhotoPathDal.Add(productPhotoPath);
                }

                return(new SuccessResult());
            }
            catch (Exception)
            {
                return(new ErrorResult(Messages.ErrorWhileAddingEntity));
            }
        }
Esempio n. 10
0
        public SystemParamAddDialog(ProductDetailDto detail, bool _insert)
        {
            InitializeComponent();

            this.DataContext = this;
            aaa    = detail;
            insert = _insert;
        }
Esempio n. 11
0
        public void GetProduct_WhenSuccessfull_ReturnProduct()
        {
            productManager = new ProductManager(_mockUnitOfWork.Object);

            ProductDetailDto productDetailDto = productManager.GetProduct(1).GetAwaiter().GetResult();

            Assert.AreEqual(2, productDetailDto.Discount);
        }
Esempio n. 12
0
        public ProductDetailDto CreateProductDetail(ProductDetailDto productDetailDto)
        {
            var productDetail = _mapper.Map <ProductDetail>(productDetailDto);
            int res           = _repo.Create(productDetail);

            if (res <= 0)
            {
                return(null);
            }
            return(productDetailDto);
        }
Esempio n. 13
0
        private void DeleteSystemParam(ProductDetailDto model)
        {
            if (MessageBox.Show("确认删除该坐标信息吗?", "提示", MessageBoxButton.OKCancel) != MessageBoxResult.OK)
            {
                return;
            }
            // SystemParamDeleteResponse userDeleteResponse = LocalApi.Execute(new SystemParamDeleteRequest() { ITEM_CD = model.ITEM_CD ,SLOT_SITE = model.SLOT_SITE});

            _productService.Removeproductdetail(model.ID);

            this.RefreshData(textBox.Text);
        }
Esempio n. 14
0
        public async Task <ProductDetailDto> Update(ProductDetailDto productDetailDto)
        {
            var entity        = _mapper.Map <ProductDetail>(productDetailDto);
            var modelToUpdate = await _productDetailRepository.FindByCondition(x => x.Id == entity.Id);

            if (!modelToUpdate.Any())
            {
                throw new ApiException("No se pudo editar el ProductDetail", HttpStatusCode.NotFound);
            }

            _productDetailRepository.Update(entity);
            return(_mapper.Map <ProductDetailDto>(entity));
        }
Esempio n. 15
0
        private void EditSystemParam(ProductDetailDto model)
        {
            bool?nullable = new SystemParamAddDialog(model, false)
            {
            }.ShowDialog();
            bool flag = true;

            if ((nullable.GetValueOrDefault() == flag ? (nullable.HasValue ? 1 : 0) : 0) == 0)
            {
                return;
            }
            this.RefreshData(textBox.Text);
        }
Esempio n. 16
0
        public async Task <IActionResult> Update([FromBody] ProductDetailDto product)
        {
            try
            {
                var query = await _productDetailService.Update(product);

                return(Ok(query));
            }
            catch (Exception e)
            {
                _loggerManager.LogError($"Ocurrio un error mientras se modificaba el product detail: {e}");
                throw new ApiException(AppResources.BadRequest, HttpStatusCode.BadRequest);
            }
        }
 public void TestIntialize()
 {
     productDetailDto = new ProductDetailDto()
     {
         CategoryId = 1,
         Description = "ddd",
         Discount = 2,
         Id = 1,
         Name = "tt"
     };
     _mockUnitOfWork = new Mock<IUnitOfWork>();
     _mockProductRepository = new Mock<IProductRepository>();
     _mockProductRepository.Setup(m => m.GetProduct(2)).ReturnsAsync(productDetailDto);
     _mockUnitOfWork.Setup(m => m.ProductRepository).Returns(_mockProductRepository.Object);
 }
 public void TestInitialize()
 {
     productDetailDto = new ProductDetailDto()
     {
         Id          = 1,
         CategoryId  = 1,
         Name        = "Dilu",
         Price       = "Rs.139",
         Description = "jdkdjshdkjh"
     };
     _mockUnitofWork        = new Mock <IUnitofWork>();
     _mockProductRepository = new Mock <IProductRepository>();
     _mockProductRepository.Setup(m => m.GetProduct(2)).ReturnsAsync(productDetailDto);
     _mockUnitofWork.Setup(m => m.ProductRepository).Returns(_mockProductRepository.Object);
 }
Esempio n. 19
0
 public async Task <IActionResult> Add([FromBody] ProductDetailDto product)
 {
     try
     {
         product.Id = Guid.NewGuid();
         _productDetailService.Save(product);
         // ReSharper disable once Mvc.ActionNotResolved
         return(CreatedAtAction(nameof(GetById), new { version = HttpContext.GetRequestedApiVersion().ToString(), id = product.Id }, product));
     }
     catch (Exception e)
     {
         _loggerManager.LogError($"Ocurrio un error cuando se intentaba guardar el product detail: {e}");
         throw new ApiException(AppResources.BadRequest, HttpStatusCode.BadRequest);
     }
 }
Esempio n. 20
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="InputDto"></param>
        /// <returns></returns>
        public async Task <ProductDetailDto> Test(ProductDetailDto InputDto)
        {
            var entity = ObjectMapper.Map <ProductDetailDto, ProductDetail>(InputDto);
            var Result = await ProductDetailRepository.InsertAsync(entity);



            await ProductDetailRepository.Where(sa => sa.Wide > 0).ToListAsync();



            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <ProductDetail, ProductDetailDto>(Result));
        }
Esempio n. 21
0
        public IHttpActionResult CreateProductDetail([FromBody] ProductDetailDto productDetailsDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var productDetails = Mapper.Map <ProductDetailDto, ProductDetails>(productDetailsDto);

            _context.ProductDetails.Add(productDetails);
            _context.SaveChanges();

            productDetailsDto.Id = productDetails.Id;

            return(Created(new Uri(Request.RequestUri + "/" + productDetails.Id), productDetailsDto));
        }
Esempio n. 22
0
        public IResult Update(ProductDetailDto productDetailDto)
        {
            try
            {
                _productDal.Update(productDetailDto.Product);
                foreach (var productPhotoPath in productDetailDto.ProductPhotoPaths)
                {
                    _productPhotoPathDal.Update(productPhotoPath);
                }

                return(new SuccessResult());
            }
            catch (Exception)
            {
                return(new ErrorResult(Messages.ErrorWhileUpdatingEntity));
            }
        }
Esempio n. 23
0
        public async Task <IHttpActionResult> GetProduct(int id)
        {
            ProductDetailDto product = await db.Products.Include(p => p.Category).Select(p => new ProductDetailDto
            {
                Id           = p.Id,
                Name         = p.Name,
                Price        = p.Price,
                CategoryName = p.Category.Name
            }).SingleOrDefaultAsync(p => p.Id == id);

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

            return(Ok(product));
        }
Esempio n. 24
0
        public IActionResult AddToCart(int productId)
        {
            //ürünü çek
            var dataResult = _productService.GetById(productId);

            ProductDetailDto productDetailDto = dataResult.Data;

            var cart = _cartSessionHelper.GetCart("cart");

            _cartService.AddToCart(cart, productDetailDto.Product);

            _cartSessionHelper.SetCart("cart", cart);
            TempData.Remove(TempDataTypes.AddedToCart);
            TempData.Add(TempDataTypes.AddedToCart, productDetailDto.Product.ProductName + " sepete eklendi!");

            return(RedirectToAction("Index", "Product"));
        }
Esempio n. 25
0
        public ComplexResponse <ProductDetailDto> Detail(int id)
        {
            ProductDetailDto product = new ProductDetailDto();

            if (id > 0)
            {
                product = _productService.Get(id).ToProductDetailDto();
                if (product != null)
                {
                    var files = _productService.GetProductFiles(id, Enums.FileType.All);
                    product.CoverImages       = files.Where(f => f.Type == (int)Enums.FileType.DetailBanner).Select(f => f.Url).ToList();
                    product.DetailImages      = files.Where(f => f.Type == (int)Enums.FileType.Detail).Select(f => f.Url).ToList();
                    product.FeatureWithValues = _featureService.GetProductFeatureWithValues(id);
                }
            }

            return(new ComplexResponse <ProductDetailDto>(1, data: product));
        }
Esempio n. 26
0
        public IDataResult <ProductDetailDto> GetById(int productId)
        {
            try
            {
                var product       = _productDal.Get(p => p.ProductId == productId);
                var productDetail = new ProductDetailDto
                {
                    Product           = product,
                    ProductPhotoPaths = _productPhotoPathDal.GetList(p => p.ProductId == productId)
                };

                return(new SuccessDataResult <ProductDetailDto>(productDetail));
            }
            catch (Exception)
            {
                return(new ErrorDataResult <ProductDetailDto>(Messages.ErrorWhileGettingEntity));
            }
        }
Esempio n. 27
0
        public void UpdateProductDetail(int id, ProductDetailDto productDetailsDto)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            var productDetailsInDB = _context.ProductDetails.SingleOrDefault(p => p.Id == id);

            if (productDetailsInDB == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            Mapper.Map(productDetailsDto, productDetailsInDB);


            _context.SaveChanges();
        }
Esempio n. 28
0
        public HttpResponseMessage GetDetailInfo(int itemId)
        {
            var data = _bllProduct.GetListByIds(new List <int>()
            {
                itemId
            });
            ProductDetailDto rspData = new ProductDetailDto();

            if (data.Any())
            {
                var item = data.FirstOrDefault();
                if (item != null)
                {
                    double decreaseValue = 0;
                    if (item.IsDecrease || item.IsLimitTimePromotion)
                    {
                        decreaseValue = _bllProduct.GetItemDecreaseAndActivity(data)?.FirstOrDefault()?.DecreaseValue ?? 0;
                    }

                    rspData.itemId      = item.ItemId;
                    rspData.title       = item.Title;
                    rspData.price       = DataHelper.instance.DoubleToDouble(item.SalePrice - decreaseValue);
                    rspData.stock       = item.Stock;
                    rspData.marketPrice = DataHelper.instance.DoubleToDouble(item.CostPrice);
                    rspData.buys        = item.Buys;
                    //rspData.properties = item.Properties;
                    //rspData.propertieNameValues = item.PropertieNameValues;
                    rspData.isFreePost          = item.IsFreePost;
                    rspData.itemDesc            = $"{RemoveHtmlTagExcludeImg(item.ItemDesc)}{ConstDataValues.ProductDetailBottomService}";//item.ItemDesc
                    rspData.dataEvaluation      = DataHelper.instance.getItemEvaluations(itemId, 0, 1, 2);
                    rspData.dataSku             = DataHelper.instance.getItemSkuItems(itemId, decreaseValue);
                    rspData.dataProperty        = DataHelper.instance.getPropertyPairItems(item.Properties);
                    rspData.dataGifts           = DataHelper.instance.getItemGiftItems(itemId);
                    rspData.imgs                = DataHelper.instance.getItemImgs(itemId);
                    rspData.dataCustomerService = DataHelper.instance.getItemCustomerService(item.CId);
                }
            }

            return(ResponseHelper.OK(EnumApiStatusCode.Success, data: rspData));
        }
Esempio n. 29
0
        public ActionResult Get(int id)
        {
            var product = _productRepository.GetProduct(id);

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

            var productDto = new ProductDetailDto {
                Id           = product.Id,
                Name         = product.Name,
                Description  = product.Description,
                TimeEstimate = product.TimeEstimate,
                Requirements = JsonConvert.DeserializeObject <String[]>(product.Requirements),
                Instructions = convertInstructions(product.Instructions),
                Comments     = convertComments(product.Comments),
                ProductImage = product.ProductImage != null?Convert.ToBase64String(product.ProductImage) : null
            };

            return(Ok(productDto));
        }
Esempio n. 30
0
        public IActionResult Add(ProductDetailDto productDetailDto)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var uploadedProductPhotoPaths = new List <ProductPhotoPath>();

            if (HttpContext.Session.GetString("sayac") != null)
            {
                var sayacString = HttpContext.Session.GetString("sayac");
                int sayac       = Convert.ToInt32(sayacString);
                for (int i = 1; i < sayac; i++)
                {
                    uploadedProductPhotoPaths.Add(new ProductPhotoPath
                    {
                        PhotoPath = HttpContext.Session.GetString(i.ToString())
                    });
                }
                HttpContext.Session.Remove("sayac");
                productDetailDto.ProductPhotoPaths = uploadedProductPhotoPaths;
            }
            else
            {
                TempData.Add(TempDataTypes.ProductPhoto, Messages.ProductPhoto);
                return(View());
            }

            var result = _productService.Add(productDetailDto);

            if (!result.Success)
            {
                return(RedirectToAction("InternalError", "Error", new { errorMessage = result.Message }));
            }
            TempData.Add(TempDataTypes.AdminInfo, Messages.ProductAddedSuccessfully);
            return(RedirectToAction("Add", "AdminProduct"));
        }