コード例 #1
0
        public async Task <IActionResult> UpdateCategoryInProduct(CategoryProductUpdateDto categoryProduct)
        {
            _catRepo.UpdateCategoryInProduct(categoryProduct);

            // var userToCreate = _mapper.Map<User>(userForRegisterDto);
            // // var result = await _userManager.CreateAsync(userToCreate, userForRegisterDto.Password);
            //     _userManager.CreateAsync(userToCreate, userForRegisterDto.Password).Wait();
            //     var result = await _userManager.AddToRoleAsync(userToCreate, "Member");

            // var userToReturn = _mapper.Map<UserForDetailedDto>(userToCreate);

            // if (result.Succeeded)
            // {
            //     return CreatedAtRoute("GetUser",
            //         new { controller = "Users", id = userToCreate.Id }, userToReturn);
            // }

            // return BadRequest(result.Errors);
            return(Ok());
        }
コード例 #2
0
        public void  UpdateCategoryInProduct(CategoryProductUpdateDto categoryProduct)
        {
            // текущие категории продукта из базы
            var catProds = _context.CategoryProduct
                           .Where(x => x.ProductId == categoryProduct.ProductId)
                           .ToList();

            // Удаляем категории
            var listForDelete = new List <Guid>();

            foreach (var cat in catProds)
            {
                var cp = categoryProduct.Categories
                         .FirstOrDefault(x => x == cat.CategoryId);

                var isExist = categoryProduct.Categories
                              .FirstOrDefault(x => x == cat.CategoryId) != Guid.Empty ? true : false;

                if (!isExist)
                {
                    //  var catProdModel = new CategoryProduct();

                    // catProdModel.Category = _context.Categories
                    //     .FirstOrDefault(x => x.Id == cat.CategoryId);
                    // catProdModel.Product = _context.Products
                    //     .FirstOrDefault(x => x.Id == categoryProduct.ProductId);
                    var catProdModel = _context.CategoryProduct
                                       .FirstOrDefault(x => x.CategoryId == cat.CategoryId &&
                                                       x.ProductId == categoryProduct.ProductId);

                    if (catProdModel != null)
                    {
                        _context.CategoryProduct.Remove(catProdModel);
                        _context.SaveChanges();
                    }
                }
            }

            //Добавляем категории
            // цикл по новым категориям продукта
            foreach (var cat in categoryProduct.Categories)
            {
                var isExist = catProds.FirstOrDefault(x => x.CategoryId == cat) != null ? true: false;

                if (!isExist)
                {
                    var catProdModel = new CategoryProduct();
                    // catProdModel.CategoryId = cat;
                    // catProdModel.ProductId = categoryProduct.ProductId;

                    catProdModel.Category = _context.Categories.FirstOrDefault(x => x.Id == cat);
                    catProdModel.Product  = _context.Products.FirstOrDefault(x => x.Id == categoryProduct.ProductId);



                    _context.CategoryProduct.Add(catProdModel);
                    // _portalRepository.Add<CategoryProduct>(catProdModel);
                }

                // await _portalRepository.SaveAll();
                _context.SaveChanges();
            }
        }