Esempio n. 1
0
        public async Task <int> AddImage(ProductImageCreateRequest request)
        {
            var productImage = new ProductImage()
            {
                DateCreated = DateTime.Now,
                IsDefault   = request.IsDefault,
                Caption     = request.Caption,
                SortOrder   = request.SortOrder
            };

            if (request.ImageFile == null)
            {
                return(-1);
            }
            if (request.ImageFile != null)
            {
                productImage.ImagePath = await SaveFile(request.ImageFile);

                productImage.FileSize = request.ImageFile.Length;
            }
            _context.ProductImages.Add(productImage);
            await _context.SaveChangesAsync();

            return(productImage.Id);
        }
Esempio n. 2
0
        public async Task <bool> AddImage(string idProduct, ProductImageCreateRequest request)
        {
            var sessions = _httpContextAccessor
                           .HttpContext
                           .Session
                           .GetString(SystemConstants.AppSettings.Token);

            var a          = RandomString(3);
            var languageId = _httpContextAccessor.HttpContext.Session.GetString(SystemConstants.AppSettings.DefaultLanguageId);

            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions);

            var requestContent = new MultipartFormDataContent();

            byte[] data;
            using (var br = new BinaryReader(request.ImageFile.OpenReadStream()))
            {
                data = br.ReadBytes((int)request.ImageFile.OpenReadStream().Length);
            }
            ByteArrayContent bytes = new ByteArrayContent(data);

            requestContent.Add(new StringContent(a), "idImage");
            requestContent.Add(new StringContent(idProduct), "idProduct");
            requestContent.Add(bytes, "ImageFile", request.ImageFile.FileName);


            var response = await client.PostAsync($"/api/products/" + idProduct + "/2", requestContent);

            return(response.IsSuccessStatusCode);
        }
Esempio n. 3
0
        public async Task <ApiResult <bool> > AddImages(ProductImageCreateRequest request)
        {
            var product = await _context.Products.FindAsync(request.ProductId);

            if (product == null)
            {
                return(new ApiErrorResult <bool>($"Không thể thìm thấy sản phẩm"));
            }
            var productImage = new ProductImage()
            {
                Caption     = request.Caption,
                ProductId   = request.ProductId,
                SortOrder   = request.SortOrder,
                DateCreated = DateTime.Now
            };

            if (request.ImageFile != null)
            {
                productImage.ImagePath = await this.SaveFile(request.ImageFile);

                productImage.FileSize = request.ImageFile.Length;
            }
            _context.ProductImages.Add(productImage);
            if (_context.SaveChanges() == 0)
            {
                return(new ApiErrorResult <bool>());
            }
            return(new ApiSuccessResult <bool>());
        }
Esempio n. 4
0
        public async Task <bool> CreateImage(ProductImageCreateRequest request)
        {
            var sessions = _httpContextAccessor.HttpContext.Session.GetString("Token");
            var client   = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration["BaseAddress"]);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions);
            var requestContent = new MultipartFormDataContent();

            // phải chuyển thằng ImageFile sang binary
            if (request.ImageFile != null)    // chuyền Ảnh lấy từ Controoller sang byte
            {
                byte[] data;
                using (var br = new BinaryReader(request.ImageFile.OpenReadStream()))
                {
                    data = br.ReadBytes((int)request.ImageFile.OpenReadStream().Length);
                }
                ByteArrayContent bytes = new ByteArrayContent(data);
                requestContent.Add(bytes, "ImageFile", request.ImageFile.FileName); // phải add đúng tên bên ProductService
            }

            if (request.Caption != null)
            {
                requestContent.Add(new StringContent(request.Caption.ToString()), "Caption");
            }
            requestContent.Add(new StringContent(request.SortOrder.ToString()), "SortOrder");
            requestContent.Add(new StringContent(request.Isdefault.ToString()), "Isdefault");
            requestContent.Add(new StringContent(request.ProductId.ToString()), "ProductId");

            var response = await client.PostAsync($"/api/products/images", requestContent);

            return(response.IsSuccessStatusCode);
        }
Esempio n. 5
0
        public async Task <ApiResult <string> > AddImage(int ProductId, ProductImageCreateRequest request)
        {
            var sections = _httpContextAccessor.HttpContext.Session.GetString("Token");

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sections);
            var json = JsonConvert.SerializeObject(request);
            MultipartFormDataContent form = new MultipartFormDataContent();

            form.Add(new StringContent(request.Caption), "Caption");
            form.Add(new StringContent(request.IsDefault.ToString()), "IsDefault");
            if (request.ThumbnailImage != null)
            {
                byte[] data;
                using (var br = new BinaryReader(request.ThumbnailImage.OpenReadStream()))
                    data = br.ReadBytes((int)request.ThumbnailImage.OpenReadStream().Length);
                ByteArrayContent bytes = new ByteArrayContent(data);
                form.Add(bytes, "ThumbnailImage", request.ThumbnailImage.FileName);
            }

            var response = await _client.PostAsync($"/api/productimages/{ProductId}/images", form);

            var result = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <ApiResultSuccess <string> >(result));
            }
            return(JsonConvert.DeserializeObject <ApiResultErrors <string> >(result));
        }
Esempio n. 6
0
        ///// Hình ảnh//////////////////////////////////////////////////

        public async Task <int> CreateImage(int productId, ProductImageCreateRequest request)
        {
            var client   = _httpClientFactory.CreateClient();
            var sessions = _httpContextAccessor.HttpContext.Session.GetString("Token");

            client.BaseAddress = new Uri(_configuration["BaseAddress"]);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions);

            byte[] data;
            using (var br = new BinaryReader(request.ImageFile.OpenReadStream()))
                data = br.ReadBytes((int)request.ImageFile.OpenReadStream().Length);

            ByteArrayContent bytes          = new ByteArrayContent(data);
            HttpContent      stringContent1 = new StringContent(request.IsDefault.ToString());


            MultipartFormDataContent multiContent = new MultipartFormDataContent();

            multiContent.Add(bytes, "ImageFile", request.ImageFile.FileName);
            multiContent.Add(stringContent1, "IsDefault");

            var response = await client.PostAsync($"api/products/{productId}/images", multiContent);

            if (response.IsSuccessStatusCode)
            {
                return(1);
            }
            return(0);
        }
Esempio n. 7
0
 public async Task<bool> AddImage(ProductImageCreateRequest request)
 {
     var result = await _productApiClient.AddImage(request);
     if (result.IsSuccessed == true)
         return true;
     else
         return false;
 }
Esempio n. 8
0
        [HttpGet]  // lấy lên cho người dùng xem
        public IActionResult CreateImage(int productId)
        {
            var PrImageRequset = new ProductImageCreateRequest()
            {
                ProductId = productId
            };

            return(View(PrImageRequset));
        }
Esempio n. 9
0
        public async Task <IActionResult> CreateImage([FromForm] ProductImageCreateRequest request)
        {
            if (ModelState.IsValid == false)
            {
                return(BadRequest());
            }
            var result = await _productService.AddImages(request);

            //var product = _productService.GetById(productId, request.LanguageId);
            return(Ok(result));
        }
        public async Task <IActionResult> CreateImages(int productId, [FromForm] ProductImageCreateRequest request)
        {
            if (ModelState.IsValid == false)
            {
                return(BadRequest(ModelState));
            }
            var result = await _productImageService.AddImage(productId, request);

            if (result.IsSuccessed == false)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
        public async Task<IActionResult> CreateImage(int productId, [FromForm]ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            var imageId = await _productService.AddImage(productId, request);
            if (imageId == 0)
                return BadRequest();

            var image = await _productService.GetImageById(imageId);

            return CreatedAtAction(nameof(GetImageById), new { id = imageId }, image);
        }
Esempio n. 12
0
        public async Task <IActionResult> UpdateImage(int imageId, [FromForm] ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _productService.UpdateImage(imageId, request);

            if (result == 0)
            {
                return(BadRequest());
            }

            return(Ok());
        }
Esempio n. 13
0
        public async Task <IActionResult> CreateImage(int productId, [FromForm] ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var imageId = await _managerProductService.AddImage(productId, request); // hàm AddImage trả về return productImage.Id;

            if (imageId == 0)
            {
                return(BadRequest());
            }
            var getImage = await _managerProductService.GetImageById(imageId);

            return(CreatedAtAction(nameof(GetByProductIdVSimageId), new { id = imageId }, imageId));
        }
Esempio n. 14
0
        public async Task <IActionResult> CreateImage(int id, ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var result = await _productApiClient.CreateImage(id, request);

            if (result == 1)
            {
                TempData["result"] = "Thêm hình ảnh thành công";
                return(RedirectToAction("ListImage", new { Id = id }));
            }

            ModelState.AddModelError("", "Thêm hình ảnh thất bại");
            return(View(request));
        }
Esempio n. 15
0
        public async Task <IActionResult> AddImage(int productId, [FromForm] ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var imageId = await _manageProductService.AddImage(productId, request);

            if (imageId == -1)
            {
                return(BadRequest());
            }

            var productImage = await _manageProductService.GetImageById(productId, imageId);

            return(Ok(productImage));
        }
Esempio n. 16
0
        public async Task <IActionResult> CreateImage(int productId, [FromForm] ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _productService.AddImage(productId, request);

            if (!result.IsSuccessed)
            {
                return(BadRequest());
            }

            var image = await _productService.GetImageById(result.ResultObj);

            return(CreatedAtAction(nameof(GetImageById), new { id = result }, image));
        }
Esempio n. 17
0
        public async Task <int> UpdateImage(int imageId, ProductImageCreateRequest request)
        {
            var productImage = await _context.ProductImages.FindAsync(imageId);

            if (productImage == null)
            {
                throw new EShopException($"Cannot find an image with id {imageId}");
            }

            if (request.ImageFile != null)
            {
                productImage.ImagePath = await this.SaveFile(request.ImageFile);

                productImage.FileSize = request.ImageFile.Length;
            }
            _context.ProductImages.Update(productImage);
            return(await _context.SaveChangesAsync());
        }
Esempio n. 18
0
        public async Task <IActionResult> AddImage(string id, [FromForm] ProductImageCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }

            var result = await _productApiClient.AddImage(id, request);

            if (result)
            {
                TempData["result"] = "Thêm mới sản phẩm thành công";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Thêm sản phẩm thất bại");
            return(View(request));
        }
        public async Task <int> AddImage(int productId, ProductImageCreateRequest request)
        {
            var productImage = new Entites.ProductImage()
            {
                DateCreated = DateTime.Now,
                IsDefault   = request.IsDefault,
                ProductId   = productId,
            };

            if (request.ImageFile != null)
            {
                productImage.ImagePath = await SaveFile(request.ImageFile);
            }
            context.ProductImages.Add(productImage);
            await context.SaveChangesAsync();

            return(productImage.Id);
        }
Esempio n. 20
0
        [Consumes("multipart/form-data")] // phải có nó nó mới nhận được  cái data file từ FromFrom tương ứng với thằng backEnd
        public async Task <IActionResult> CreateImage([FromForm] ProductImageCreateRequest request)
        {
            // dữ liệu đi từ view vào đây rooid vào CreateProduct
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var result = await _productApiClient.CreateImage(request);  // cái này trả ra true false sang mà xem

            if (result)
            {
                TempData["result"] = "Thêm mới ảnh thành công";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Thêm ảnh thất bại");
            return(View(request));
        }
Esempio n. 21
0
        [Consumes("multipart/form-data")]                                                           // nó cho ta nhận 1 kiểu chuyền lên là form data chỉ dùng cho HttpPost
        public async Task <IActionResult> CreateImage([FromForm] ProductImageCreateRequest request) // tất cả các thuộc tính phải using form data
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var imageId = await _ProductService.AddImage(request); // thằng này chả về id nhe

            if (imageId == 0)
            {
                return(BadRequest());// đây là nỗi 400
            }
            // để có product chuyền về thì ta phải
            var image = await _ProductService.GetImageById(imageId);

            return(CreatedAtAction(nameof(GetImageById), new { id = imageId }, image)); // Ok trả ra 200 còn created là 201  khi học jquery đã được học cái này
        }
Esempio n. 22
0
        public async Task <string> AddImage(string productId, ProductImageCreateRequest request)
        {
            var productImage = new productPhotos()
            {
                IdPhoto      = request.idImage,
                idProduct    = request.idProduct,
                uploadedTime = DateTime.Now,
            };

            if (request.ImageFile != null)
            {
                productImage.link = new string("https://localhost:5001" + await this.SaveFile(request.ImageFile));
            }
            _context.productPhotos.Add(productImage);
            await _context.SaveChangesAsync();

            return(productImage.IdPhoto);
        }
Esempio n. 23
0
        public async Task <ApiResult <bool> > AddImage(int ProductId, ProductImageCreateRequest request)
        {
            var image = new ProductImage()
            {
                ProductId = ProductId,
                IsDefault = request.IsDefault,
                Caption   = request.Caption
            };

            if (request.ThumbnailImage != null)
            {
                image.FileSize  = request.ThumbnailImage.Length;
                image.ImagePath = await this.SaveFile(request.ThumbnailImage);
            }
            _context.ProductImages.Add(image);

            return(await SaveChangeService.SaveChangeAsyncNotImage(_context));
        }
Esempio n. 24
0
        public async Task <int> AddImage(int productId, ProductImageCreateRequest request)
        {
            var product = await _context.Products.FirstOrDefaultAsync(x => x.Id == productId);

            if (product == null)
            {
                throw new ShoppingException($"Cannot find product: {productId}");
            }

            var data = from pi in _context.ProductImages
                       where pi.ProductId == productId
                       select pi;

            if (data != null)
            {
                bool validOrder = await data.FirstOrDefaultAsync(x => x.SortOrder == request.SortOrder) == null ? true : false;

                if (validOrder == false)
                {
                    throw new ShoppingException($"Cannot add image with same order: {request.SortOrder}");
                }
            }

            var productImage = new ProductImage()
            {
                Caption     = request.Caption,
                SortOrder   = request.SortOrder,
                DateCreated = DateTime.Now,
                IsDefault   = request.isDefault,
                ProductId   = productId,
            };

            if (request.FileImage != null)
            {
                productImage.FileSize  = request.FileImage.Length;
                productImage.ImagePath = await this.SaveFile(request.FileImage);
            }
            _context.ProductImages.Add(productImage);

            await _context.SaveChangesAsync();

            return(productImage.Id);
        }
        public async Task <int> AddImage(int productId, ProductImageCreateRequest request)
        {
            var productImage = new ProductImage()
            {
                Caption     = request.Caption,
                DateCreated = DateTime.Now,
                IsDefault   = request.IsDefault,
                ProductId   = productId,
                SortOrder   = request.SortOrder
            };

            if (request.FileImage != null)
            {
                productImage.ImagePath = await this.SaveFile(request.FileImage);

                productImage.FileSize = request.FileImage.Length;
            }
            _context.productImages.Add(productImage);
            return(await _context.SaveChangesAsync());
        }
Esempio n. 26
0
        //Thêm ảnh mới vào sản phẩm
        public async Task <int> AddImage(int productId, ProductImageCreateRequest request)
        {
            var productImage = new ProductImage()
            {
                DateCreated = DateTime.Now,
                IsDefault   = request.IsDefault,
                ProductId   = productId
            };

            if (request.ImageFile != null)
            {
                productImage.ImagePath = await this.SaveFile(request.ImageFile);

                productImage.FileSize  = request.ImageFile.Length;
                productImage.IsDefault = request.IsDefault;
            }
            _context.ProductImages.Add(productImage);
            await _context.SaveChangesAsync();

            return(productImage.Id);
        }
Esempio n. 27
0
        public async Task <int> AddImage(int idProduct, ProductImageCreateRequest request)
        {
            var ProductPhoto = new productPhotos()
            {
                Caption      = request.Caption,
                uploadedTime = DateTime.Now,
                IsDefault    = request.IsDefault,
                idProduct    = idProduct,
                SortOrder    = request.SortOrder,
            };

            if (request.ImageFile != null)
            {
                ProductPhoto.ImagePath = await this.SaveFile(request.ImageFile);

                ProductPhoto.FileSize = request.ImageFile.Length;
            }
            _context.productPhotos.Add(ProductPhoto);
            await _context.SaveChangesAsync();

            return(ProductPhoto.Id);
        }
Esempio n. 28
0
        public async Task <int> AddImage(int productId, ProductImageCreateRequest productImageViewModel)
        {
            var productImage = new ProductImage()
            {
                Caption     = productImageViewModel.Caption,
                DateCreated = DateTime.Now,
                IsDefault   = productImageViewModel.IsDefault,
                ProductId   = productId,
                SortOrder   = productImageViewModel.SortOrder
            };

            //Save image
            if (productImageViewModel.ImageFile != null)
            {
                productImage.ImagePath = await this.SaveFile(productImageViewModel.ImageFile);

                productImage.FileSize = productImageViewModel.ImageFile.Length;
            }
            _context.ProductImages.Add(productImage);
            await _context.SaveChangesAsync();

            return(productImage.Id);
        }
Esempio n. 29
0
        public async Task <int> AddImage(int productId, ProductImageCreateRequest request) //dc implement
        {
            //throw new NotImplementedException();
            var productImage = new ProductImage()
            {
                Caption     = request.Caption,
                DateCreated = DateTime.Now,
                IsDefaut    = request.IsDefaut,
                ProductId   = productId,
                SortOrder   = request.SortOrder
            };

            if (request.ImageFile != null)
            {
                productImage.ImagePath = await this.SaveFile(request.ImageFile);

                productImage.FileSize = request.ImageFile.Length;
            }
            _context.ProductImages.Add(productImage);
            await _context.SaveChangesAsync();

            return(productImage.Id);
        }
        public async Task <IActionResult> Create([FromForm] ProductImageCreateRequest request)
        {
            if (ModelState.IsValid)
            {
                var result = await _imageProductServive.AddImage(request.ProductId, request);

                if (result.IsSuccessed == true)
                {
                    TempData["result"]    = "Create Success";
                    TempData["IsSuccess"] = true;
                }
                else
                {
                    TempData["result"]    = result.Message;
                    TempData["IsSuccess"] = false;
                }
                return(Redirect($"/product/{request.ProductId}/images"));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }