public async Task <APIResponse> CreateProducts(CreateProductsRequest request) { try { string filename = ""; var folderName = Path.Combine("Products"); var pathToSave = Path.Combine("D:", "HappyWedding", folderName); if (request.ProductImage.Length > 0) { string format = System.IO.Path.GetExtension(request.ProductImage.FileName); filename = request.CategoryId + "_Products_" + DateTime.Now + format; string filenme = filename.Replace(":", "."); var filePath = Path.Combine(pathToSave, filenme); using var fileStream = new FileStream(filePath, FileMode.Create); request.ProductImage.CopyTo(fileStream); request.Image = filePath; request.Image = null; } var client = httpClientFactory.CreateClient(ECommerceServiceOperation.serviceName); var param = JsonConvert.SerializeObject(request); HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json"); var response = await client.PostAsync(servicesConfig.ECommerce + ECommerceServiceOperation.CreateProduct(), contentPost); if (response.IsSuccessStatusCode) { var multicode = JsonConvert.DeserializeObject <ProductResponse>(await response.Content.ReadAsStringAsync()); return(new APIResponse(multicode, HttpStatusCode.Created)); } return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'CreateMultiCode()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> CreateProducts([FromForm] CreateProductsRequest request) { var result = await productService.CreateProducts(request); return(StatusCode((int)result.Code, result.Value)); }