public async Task <IActionResult> Update(int id, ProductUpdateRequest model) { Response oR = new Response(); try { if (!ModelState.IsValid) { oR.Status = StatusCodes.Status400BadRequest; oR.Message = Messages.ValidationsFailed; oR.Data = GetModelErrors(ModelState); return(BadRequest(oR)); } if (id != model.Id) { oR.Message = Messages.ResourceNotFound; oR.Status = StatusCodes.Status404NotFound; return(NotFound(oR)); } if (!await _productService.ExistsId(model.Id)) { oR.Message = Messages.ResourceNotFound; oR.Status = StatusCodes.Status404NotFound; return(NotFound(oR)); } if (!await _subCategoryService.ExistsId(model.SubCategoryId)) { ModelState.AddModelError("Code", Messages.SubCategoryIdDontExists); oR.Status = StatusCodes.Status400BadRequest; oR.Message = Messages.ValidationsFailed; oR.Data = GetModelErrors(ModelState); return(BadRequest(oR)); } if (!await _productService.Update(model)) { oR.Status = StatusCodes.Status500InternalServerError; oR.Message = Messages.InternalServerError; return(StatusCode(StatusCodes.Status500InternalServerError, oR)); } return(NoContent()); } catch (Exception ex) { oR.Status = StatusCodes.Status500InternalServerError; oR.Message = Messages.InternalServerError; return(StatusCode(StatusCodes.Status500InternalServerError, oR)); } }
public async Task <IActionResult> Edit(int id) { TempData["BackendUrl"] = _config[Constants.AppSettings.BaseAddress]; var product = await _productApiClient.GetById(id); TempData["ProductImage"] = product.ThumbnailImage; var brands = await _brandApiClient.GetAll(); ViewBag.Brands = brands.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString(), Selected = product.BrandId == x.Id }); var categories = await _categoryApiClient.GetAll(); ViewBag.Categories = categories.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString(), Selected = product.CategoryId.First() == x.Id }); var productUpdate = new ProductUpdateRequest(); productUpdate.Id = product.Id; productUpdate.Name = product.Name; productUpdate.OriginalPrice = product.OriginalPrice; productUpdate.Price = product.Price; productUpdate.Description = product.Description; productUpdate.BrandId = product.BrandId; return(View(productUpdate)); }
public async Task<IActionResult> Update([FromForm] ProductUpdateRequest request) { var affectedResult = await _manageProductService.Update(request); if (affectedResult == 0) return BadRequest(); return Ok(); }
public async Task <IActionResult> Edit(int id, string LanguageId) { //lấy sản phẩm ra để cho người dùng xem var result = await _productApiClient.GetById(id, LanguageId); if (result != null) { var ProductRequest = new ProductUpdateRequest() { Name = result.Name, Description = result.Description, Details = result.Details, SeoAlias = result.SeoAlias, SeoDescription = result.SeoDescription, SeoTitle = result.SeoTitle, Id = id, LanguageId = LanguageId, IsFeatured = result.IsFeatured == null?false:result.IsFeatured.Value }; return(View(ProductRequest)); } return(RedirectToAction("Error", "Home")); }
public async Task <ProductUpdateResponse> UpdateAsync(ProductUpdateRequest request) { var product = await _context.Products.FindAsync(request.Id); product.Brand = await _context.Brands.FindAsync(request.BrandId); var productCategory = await _context.ProductCategory .Where(pc => pc.ProductId == product.Id) .ToListAsync(); _context.ProductCategory .RemoveRange(productCategory); product.ProductCategories = _context.Categories .Where(x => request.CategoryIds .Contains(x.Id)) .Select(x => new ProductCategory { Category = x }) .ToList(); product.Name = request.Name; product.Price = request.Price; product.Description = request.Description; product.ImageUrl = request.ImageUrl; _context.Products.Update(product); await _context.SaveChangesAsync(); return(_mapper.Map <ProductUpdateResponse>(product)); }
public async Task <IActionResult> PutProduct([FromRoute] int id, [FromBody] ProductUpdateRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var product = await _productService.GetById(id); if (product is null) { return(NotFound("ProductId can't find!")); } product.Name = request.Name; product.Price = request.Price; var updated = await _productService.UpdateProduct(product); if (!updated) { return(BadRequest("Something wrong!")); } return(Ok(updated)); }
public async Task <bool> Update(ProductUpdateRequest request) { _client.BaseAddress = new Uri(_config[Constants.AppSettings.BaseAddress]); var requestContent = new MultipartFormDataContent(); if (request.ThumbnailImage != null) { byte[] data; foreach (var item in request.ThumbnailImage) { using (var br = new BinaryReader(item.OpenReadStream())) { data = br.ReadBytes((int)item.OpenReadStream().Length); } ByteArrayContent bytes = new ByteArrayContent(data); requestContent.Add(bytes, "thumbnailImage", item.FileName); } } requestContent.Add(new StringContent(request.Price.ToString()), "price"); requestContent.Add(new StringContent(request.OriginalPrice.ToString()), "originalPrice"); requestContent.Add(new StringContent(request.Name.ToString()), "name"); requestContent.Add(new StringContent(request.Description.ToString()), "description"); requestContent.Add(new StringContent(request.BrandId.ToString()), "brandId"); requestContent.Add(new StringContent(request.CategoryIds.First().ToString()), "categoryIds"); var response = await _client.PutAsync("/api/products/", requestContent); return(response.IsSuccessStatusCode); }
private void Update(Product_List productlist, ProductUpdateRequest productupdate) { productlist.p_name = productupdate.p_name; productlist.p_price = productupdate.p_price; productlist.p_desc = productupdate.p_desc; _context.SaveChanges(); }
// update product public async Task <int> UpdateProduct(ProductUpdateRequest productEditRequest) { var product = await _context.Products.Where(x => x.Id == productEditRequest.Id).FirstOrDefaultAsync(); var productTranslation = await _context.ProductTranslations .Where(x => x.Id == productEditRequest.Id && x.LanguageId == productEditRequest.LanguageId).FirstOrDefaultAsync(); if (product == null) { throw new eShopException($"Can not find product {productEditRequest.Id}"); } productTranslation.Name = productEditRequest.Name; productTranslation.SeoAlias = productEditRequest.SeoAlias; productTranslation.SeoDescription = productEditRequest.SeoDescription; productTranslation.SeoTitle = productEditRequest.SeoTitle; productTranslation.Description = productEditRequest.Description; productTranslation.Details = productEditRequest.Details; product.CategoryId = productEditRequest.Category; // update image if (productEditRequest.ThumbnailIamge != null) { var thumbnailImage = await _context.productImages.Where(x => x.ProductId == productEditRequest.Id && x.IsDefault == true).FirstOrDefaultAsync(); if (thumbnailImage != null) { thumbnailImage.FileSize = productEditRequest.ThumbnailIamge.Length; thumbnailImage.ImagePath = await SaveFile(productEditRequest.ThumbnailIamge); _context.productImages.Update(thumbnailImage); } } return(await _context.SaveChangesAsync()); }
public async Task <ApiResult <string> > Update(ProductUpdateRequest 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.LanguageId), "languageId"); form.Add(new StringContent(request.Id.ToString()), "Id"); form.Add(new StringContent(request.Name), "Name"); form.Add(new StringContent(request.Description), "Description"); form.Add(new StringContent(request.CategoryId.ToString()), "CategoryId"); form.Add(new StringContent(request.Stock.ToString()), "Stock"); form.Add(new StringContent(request.Price.ToString()), "Price"); form.Add(new StringContent(request.OriginalPrice.ToString()), "OriginalPrice"); 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.PatchAsync($"/api/products", form); var result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <ApiResultSuccess <string> >(result)); } return(JsonConvert.DeserializeObject <ApiResultErrors <string> >(result)); }
public async Task <int> UpdateProduct(ProductUpdateRequest request) { var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]); var sessions = _httpContextAccessor.HttpContext.Session.GetString("Token"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions); // var json = JsonConvert.SerializeObject(request); var json = JsonConvert.SerializeObject(request); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); // đây chính là đường dẫn kết nối với role của tầng Backend và lấy về response mang về đây sử lý tiếp var response = await client.PutAsync($"/api/products", httpContent); var result = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <int>(result)); } return(JsonConvert.DeserializeObject <int>(result)); }
public ProductUpdateResponse Update(ProductUpdateRequest request) { var response = new ProductUpdateResponse(); _facade.Update(request.Product); return(response); }
public UpdateProductDTO UpdateProductById(long id, [FromBody] ProductUpdateRequest productUpdateRequest) { var foundProduct = _productService.FindById(new ProductFindRequest { ProductId = id }).FoundProduct; var responseJson = new UpdateProductDTO(); if (foundProduct != null) { productUpdateRequest.Id = id; var updateResponse = _productService.UpdateById(productUpdateRequest); if (updateResponse.HasValidationErrors() || updateResponse.HasDBErrors()) { responseJson.validationErrors = _convertErrorsToString(updateResponse.ValidationErrors); responseJson.dbErrors = updateResponse.DBErrors; responseJson.status = Status.Failed; } else { responseJson.product = СonvertProductToDTO(updateResponse.UpdatedProduct); responseJson.status = Status.Success; } } return(responseJson); }
public async Task <int> Update(ProductUpdateRequest request) { var product = await _context.products.FindAsync(request.Id); var productDetails = await _context.productDetails.FirstOrDefaultAsync(x => x.ProductId == request.Id && x.LanguageId == request.LanguageId); if (product == null || productDetails == null) { throw new WebAPIException($"Cannot find a product with id: {request.Id}"); } productDetails.ProductName = request.ProductName; productDetails.price = request.price; productDetails.detail = request.detail; productDetails.salePrice = request.salePrice; //Save image if (request.ThumbnailImage != null) { var thumbnailImage = await _context.productPhotos.FirstOrDefaultAsync(i => i.IsDefault == true && i.idProduct == request.Id); if (thumbnailImage != null) { thumbnailImage.FileSize = request.ThumbnailImage.Length; thumbnailImage.ImagePath = await this.SaveFile(request.ThumbnailImage); _context.productPhotos.Update(thumbnailImage); } } return(await _context.SaveChangesAsync()); }
public async Task <int> Update(ProductUpdateRequest request) { var product = await context.Products.FindAsync(request.Id); if (product == null) { throw new LegitProductException($"Sản phẩm {request.Id} không tồn tại"); } product.Name = request.Name; product.Price = request.Price; product.Description = request.Description; if (request.ThumbnailImage != null) { var thumbnailImage = await context.ProductImages.FirstOrDefaultAsync(i => i.IsDefault == true && i.ProductId == request.Id); if (thumbnailImage != null) { thumbnailImage.ImagePath = await this.SaveFile(request.ThumbnailImage); context.ProductImages.Update(thumbnailImage); } } context.Products.Update(product); return(await context.SaveChangesAsync()); }
public async Task <bool> UpdateProduct(ProductUpdateRequest request) { var languageId = _httpContextAccessor.HttpContext.Session.GetString(SystemConstant.AppSettings.DefaultLanguageId); var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri(_configuration[SystemConstant.AppSettings.BaseAddress]); var sessionToken = _httpContextAccessor.HttpContext.Session.GetString(SystemConstant.AppSettings.Token); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessionToken); var requestcontent = new MultipartFormDataContent(); 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); requestcontent.Add(bytes, "ThumbnailImage", request.ThumbnailImage.FileName); } requestcontent.Add(new StringContent(request.Id.ToString()), "Id"); requestcontent.Add(new StringContent(request.Name.ToString()), "Name"); requestcontent.Add(new StringContent(request.Description.ToString()), "Description"); requestcontent.Add(new StringContent(request.Details.ToString()), "Details"); requestcontent.Add(new StringContent(request.SeoDescription.ToString()), "SeoDescription"); requestcontent.Add(new StringContent(request.SeoTitle.ToString()), "SeoTitle"); requestcontent.Add(new StringContent(request.SeoAlias.ToString()), "SeoAlias"); requestcontent.Add(new StringContent(languageId), "LanguageId"); var response = await client.PutAsync("/api/products", requestcontent); return(response.IsSuccessStatusCode); }
public async Task <int> Update(ProductUpdateRequest request) { var product = await _context.Products.FindAsync(request.Id); var productTranslations = await _context.ProductTranslations.FirstOrDefaultAsync(x => x.ProductId == request.Id && x.LanguageId == request.LanguageId); if (product == null || productTranslations == null) { throw new EShopException($"Cannot find a product with id: {request.Id}"); } productTranslations.Name = request.Name; productTranslations.SeoAlias = request.SeoAlias; productTranslations.SeoDescription = request.SeoDescription; productTranslations.SeoTitle = request.SeoTitle; productTranslations.Description = request.Description; productTranslations.Details = request.Details; //Save image if (request.ThumbnailImage != null) { var thumbnailImage = await _context.ProductImages.FirstOrDefaultAsync(i => i.IsDefault == true && i.ProductId == request.Id); if (thumbnailImage != null) { thumbnailImage.FileSize = request.ThumbnailImage.Length; thumbnailImage.ImagePath = await this.SaveFile(request.ThumbnailImage); _context.ProductImages.Update(thumbnailImage); } } return(await _context.SaveChangesAsync()); }
public async Task <int> Update(ProductUpdateRequest request) //update { var product = await _context.Products.FindAsync(request.Id); var productDetails = await _context.ProductDetails.FirstOrDefaultAsync(x => x.ProductId == request.Id); if (product == null || productDetails == null) { throw new WebMyPhamException($"Cannot find a product with Id: {request.Id}"); } productDetails.Name = request.Name; productDetails.Description = request.Description; productDetails.Details = request.Details; //save image// save ảnh if (request.ThumbnailImage != null) { var thumbnailImage = await _context.ProductImages.FirstOrDefaultAsync(i => i.IsDefaut == true && i.ProductId == request.Id); if (thumbnailImage != null) { thumbnailImage.FileSize = request.ThumbnailImage.Length; thumbnailImage.ImagePath = await this.SaveFile(request.ThumbnailImage); _context.ProductImages.Update(thumbnailImage); } } return(await _context.SaveChangesAsync()); }
public async Task <IActionResult> UpdateProduct([FromBody] ProductUpdateRequest product, int productId) { _logger.LogDebug("START UpdateProduct"); if (productId != product.ProductId) { return(BadRequest($"invalid productid")); } var productDto = _mapper.Map <ProductDto>(product); productDto.ProductId = productId; var productResult = await CommandAsync(new UpdateProductCommand { Product = productDto }); if (!productResult.HaveError) { return(NoContent()); } else { return(UnprocessableEntity(productResult.Errors)); } }
public async Task<IActionResult> Edit(int id) { if (!ModelState.IsValid) { return View(); } var result = await _productApiClient.GetById(id, GetLanguageId()); if (result.IsSuccessed) { var updateRequest = new ProductUpdateRequest() { Id = id, Name = result.ResultObj.Name, Description = result.ResultObj.Description, Details = result.ResultObj.Details, SeoDescription = result.ResultObj.SeoDescription, SeoTitle = result.ResultObj.SeoTitle, LanguageId = result.ResultObj.LanguageId, SeoAlias = result.ResultObj.SeoAlias, isFeatured = result.ResultObj.IsFeatured, Price = result.ResultObj.Price, OriginalPrice = result.ResultObj.Price, Status = result.ResultObj.Status }; //updateRequest.ThumbnailImage. = result.ResultObj.ThumbnailImage; ViewBag.Languages =(await _languageApiClient.GetAll()).ResultObj; return View(updateRequest); } return RedirectToAction("Error", "Home"); }
public async Task <IActionResult> Update([FromForm] ProductUpdateRequest request, [FromRoute] int Id) { if (ModelState.IsValid) { request.Id = Id; var result = await _productServive.Update(request); if (result.IsSuccessed == true) { TempData["result"] = "Update Success"; TempData["IsSuccess"] = true; } else { TempData["result"] = result.Message; TempData["IsSuccess"] = false; } var category = await _categoryService.GetById(request.CategoryId, "vn"); return(Redirect($"/product/{category.ResultObject.CategoryUrl}")); } else { return(BadRequest(ModelState)); } }
public async Task <int> Update(ProductUpdateRequest request) { var product = await _context.ProductImage.FindAsync(request.Prod_ID); if (product == null) { throw new MyeshopException($"Sản phẩm không tồn tại"); } product.Prod_Name = request.Prod_Name; product.Price = request.Price; product.Quantity = request.Quantity; product.Description = request.Description; product.Status = request.Status; //Save image //if (request.ThumbnailImage != null) //{ // var thumbnailImage = await _context.ProductImages.FirstOrDefaultAsync(i => i.IsDefault == true && i.Prod_ID == request.Prod_ID); // if (thumbnailImage != null) // { // thumbnailImage.FileSize = request.ThumbnailImage.Length; // thumbnailImage.ImagePath = await this.SaveFile(request.ThumbnailImage); // _context.ProductImages.Update(thumbnailImage); // } //} return(await _context.SaveChangesAsync()); }
/// <summary> /// 修改产品信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public ProductUpdateResponse UpdateProduct(ProductUpdateRequest request) { ProductUpdateResponse response = new ProductUpdateResponse(); //非空判断 if (string.IsNullOrEmpty(request.ProductUpd.ProductName)) { response.Status = false; response.Message = "产品名称不能为空"; return(response); } if (request.ProductUpd.TradeId <= 0) { response.Status = false; response.Message = "请选择应用行业"; return(response); } if (request.ProductUpd.AddressId <= 0) { response.Status = false; response.Message = "请选择归属地"; return(response); } if (request.ProductUpd.StageId <= 0) { response.Status = false; response.Message = "请选择产品阶段"; return(response); } if (string.IsNullOrEmpty(request.ProductUpd.ProductDetail)) { response.Status = false; response.Message = "产品描述不能为空"; return(response); } if (request.ProductUpd.UserId <= 0) { response.Status = false; response.Message = "请选择产品经理"; return(response); } var res = ProductDal.Instance.UpdateProduct(request.ProductUpd); if (res > 0) { response.Status = true; response.Message = "修改成功"; } else { response.Status = false; response.Message = "修改失败"; } return(response); }
public async Task Update(ProductUpdateRequest request) { var requestMessage = new HttpRequestMessage(HttpMethod.Put, "/product/update"); var content = JsonConvert.SerializeObject(request); requestMessage.Content = new StringContent(content, Encoding.UTF8, "application/json"); await Get(requestMessage); }
public RespondModel UpdateProduct(ProductUpdateRequest productupdate) { RespondModel modelRespond = new RespondModel(); try { if (productupdate.p_id.GetType() != typeof(int) || productupdate.p_id <= 0) { modelRespond.status = "validate"; modelRespond.message = "request product id"; return(modelRespond); } if (productupdate.p_price.GetType() != typeof(int) || productupdate.p_price <= 0) { modelRespond.status = "validate"; modelRespond.message = "request product price"; return(modelRespond); } if (string.IsNullOrEmpty(productupdate.p_name)) { modelRespond.status = "validate"; modelRespond.message = "request product name"; return(modelRespond); } if (string.IsNullOrEmpty(productupdate.p_desc)) { modelRespond.status = "validate"; modelRespond.message = "request product desc"; return(modelRespond); } var model = _context.Product_List.Where(x => x.p_id == productupdate.p_id).FirstOrDefault(); if (model != null) { Update(model, productupdate); modelRespond.status = "success"; modelRespond.message = "update product success"; } else { modelRespond.status = "notfound"; modelRespond.message = "not found data"; } } catch (Exception ex) { modelRespond.status = "errortrycatch"; modelRespond.message = ex.ToString(); } return(modelRespond); }
public async Task <IActionResult> Update(int productId, [FromBody] ProductUpdateRequest request) { if (ModelState.IsValid == false) { return(BadRequest()); } var result = await _productService.Update(request); return(Ok(result)); }
public IActionResult Update([FromBody] ProductUpdateRequest product) { var affectedRowCount = _service.Update(product); if (affectedRowCount > 0) { return(Ok("Güncelleme Başarılı")); } return(NotFound("İlgili ürün bulunamadı/güncellenemedi")); }
public async Task <IActionResult> Update([FromForm] ProductUpdateRequest request) { var affectedResult = await _productService.Update(request); if (affectedResult == 0) { return(BadRequest()); } return(Ok()); }
public async Task <IActionResult> Update([FromForm] ProductUpdateRequest request) { var result = await _productService.Update(request); if (!result.IsSuccess) { return(BadRequest(result)); } return(Ok(result)); }
public static Product UpdateRequestToModel(ProductUpdateRequest modelRequest, Product model) { model.Name = modelRequest.Name; model.Description = modelRequest.Description; model.AgeRestriction = modelRequest.AgeRestriction; model.Company = modelRequest.Company; model.Price = modelRequest.Price; return(model); }