public void RemoveByProduto(int produto_id, UnitOfWork unitOfWork) { db.Context = unitOfWork.Context; List <Estoque> estoques = db.Where(e => e.Produto_id == produto_id).ToList(); if (estoques != null) { Grades_produtosController gc = new Grades_produtosController(); // gc.SetContext(unitOfWork.Context); foreach (Estoque estoque in estoques) { if (estoque.Grade_id != null) { if (!gc.RemoveApenasGrade(estoque.Grade_id, unitOfWork)) { throw new Exception("Erro ao remover a grade do produto. Id grade " + estoque.Grade_id); } } db.ForceRemove(estoque); } } }