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()); }
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(); } }