public static List <object> ReportByDoctorByStatus(int doctor, MyDbContext _context) { Receta[] recetas = GetAllByDoctorByStatus(doctor, _context); var data = new List <object>(); foreach (Receta receta in recetas) { var items = ItemReceta.ReportReceta(receta.id, _context); if (items.Count() > 0) { data.Add(new { receta = receta, items = items }); } } return(data); }
public static void Delete(int id, MyDbContext _context) { var tran = _context.Database.BeginTransaction(); //Se inicia transacción en la BDD try { ItemReceta[] items = ItemReceta.ReportReceta(id, _context); foreach (var item in items) //Se cambia el estado a cancelado en todos los itemsReceta y se hace rollback al item farmacia { _context.Database.ExecuteSqlCommand($"EXEC ItemReceta_Delete @id={item.id}"); } _context.Database.ExecuteSqlCommand($"EXEC Receta_Delete @id={id}"); //Se cambia el estado a eliminado en la receta tran.Commit(); //Si todo sale bien se hace commit } catch (Exception e) { tran.Rollback(); //Rollback throw new Exception("Error al eliminar receta", e); } }