コード例 #1
0
        public async Task <IActionResult> Create([FromForm] ProductCreatedRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var productId = await _manageProductService.Create(request);

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

            var product = await _manageProductService.GetById(productId, request.LanguageId);

            return(CreatedAtAction(nameof(GetById), new { id = productId }, product));
        }
コード例 #2
0
        public async Task <int> Create(ProductCreatedRequest request)
        {
            var product = new Product()
            {
                Price               = request.Price,
                OriginalPrice       = request.OriginalPrice,
                Stock               = request.Stock,
                ViewCount           = 0,
                DateCreated         = DateTime.Now,
                ProductTranslations = new List <ProductTranslation>()
                {
                    new ProductTranslation()
                    {
                        Name           = request.Name,
                        Description    = request.Description,
                        Details        = request.Details,
                        SeoDescription = request.SeoDescription,
                        SeoAlias       = request.SeoAlias,
                        SeoTitle       = request.SeoTitle,
                        LanguageId     = request.LanguageId
                    }
                }
            };

            //Save image
            if (request.ThumbnailImage != null)
            {
                product.ProductImages = new List <ProductImage>()
                {
                    new ProductImage()
                    {
                        Caption     = "Thumbnail image",
                        DateCreated = DateTime.Now,
                        FileSize    = request.ThumbnailImage.Length,
                        ImagePath   = await this.SaveFile(request.ThumbnailImage),
                        IsDefault   = true,
                        SortOrder   = 1
                    }
                };
            }

            _context.Products.Add(product);
            await _context.SaveChangesAsync();

            return(product.Id);
        }