コード例 #1
0
        public async Task <ResultDTO> AddProduct([FromBody] ProductAddDTO model, [FromForm(Name = "file")] IFormFile uploadedImage)
        {
            if (!ModelState.IsValid)
            {
                return(new ResultDTO
                {
                    Status = 500,
                    Message = "Error",
                    Errors = Validation.GetErrorsByModel(ModelState)
                });
            }
            else
            {
                var product = new Product()
                {
                    Name        = model.Name,
                    CompanyName = model.CompanyName,
                    Price       = model.Price,
                    Description = model.Description,
                    Image       = "",
                    Data        = model.Data,
                };
                _context.Products.Add(product);
                _context.SaveChanges();
                int idProduct          = (from v in _context.Products orderby v.Id descending select v).FirstOrDefault().Id;
                var systemrequirements = new SystemRequirements()
                {
                    OS        = model.sysreqProduct.OS,
                    Processor = model.sysreqProduct.Processor,
                    Graphics  = model.sysreqProduct.Graphics,
                    Memory    = model.sysreqProduct.Memory,
                    Storege   = model.sysreqProduct.Storege,
                    ProdctId  = idProduct
                };

                _context.SystemRequirementsProduct.Add(systemrequirements);

                foreach (var item in model.listIdLang)
                {
                    ProductLanguages temp = new ProductLanguages();

                    temp.ProdctId   = idProduct;
                    temp.LanguageId = item;

                    _context.ProductLanguages.Add(temp);
                }

                foreach (var item in model.listIdCateg)
                {
                    ProductCategories temp = new ProductCategories();

                    temp.ProdctId   = idProduct;
                    temp.CategoryId = item;

                    _context.ProductCategories.Add(temp);
                }


                _context.SaveChanges();


                return(new ResultDTO
                {
                    Status = 200
                });
            }
        }
コード例 #2
0
        public ResultDTO EditUser([FromRoute] int id, [FromBody] ProductEditDTO model)
        {
            var product = _context.Products.FirstOrDefault(t => t.Id == id);

            product.Name        = model.Name;
            product.CompanyName = model.CompanyName;
            product.Price       = model.Price;
            product.Description = model.Description;
            product.Image       = model.Image;
            product.Data        = model.Data;


            product.SystemRequirementProduct.OS        = model.sysreqProduct.OS;
            product.SystemRequirementProduct.Processor = model.sysreqProduct.Processor;
            product.SystemRequirementProduct.Graphics  = model.sysreqProduct.Graphics;
            product.SystemRequirementProduct.Memory    = model.sysreqProduct.Memory;
            product.SystemRequirementProduct.Storege   = model.sysreqProduct.Storege;

            foreach (var item in _context.ProductCategories)
            {
                if (item.ProdctId == id)
                {
                    _context.ProductCategories.Remove(item);
                }
            }
            foreach (var item in _context.ProductLanguages)
            {
                if (item.ProdctId == id)
                {
                    _context.ProductLanguages.Remove(item);
                }
            }

            foreach (var item in model.listIdLang)
            {
                ProductLanguages temp = new ProductLanguages();

                temp.ProdctId   = id;
                temp.LanguageId = item;

                _context.ProductLanguages.Add(temp);
            }

            foreach (var item in model.listIdCateg)
            {
                ProductCategories temp = new ProductCategories();

                temp.ProdctId   = id;
                temp.CategoryId = item;

                _context.ProductCategories.Add(temp);
            }

            _context.SaveChanges();



            return(new ResultDTO
            {
                Status = 200,
                Message = "OK"
            });
        }