コード例 #1
0
        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));
            }
        }
コード例 #2
0
        public async Task <IActionResult> CreateProducts([FromForm] CreateProductsRequest request)
        {
            var result = await productService.CreateProducts(request);

            return(StatusCode((int)result.Code, result.Value));
        }