public static List <BaseProductoAlmacen> ObtenerDetalleAbastecimiento(int idAlmacen, int semana, int anio) { using (var db = new SinabEntities()) { List <prc_ProductosDesabastecidos_Result> pd; List <prc_ProductosAbastecidos_Result> pa; var inicioSemana = Semana.FechaInicio(anio, semana); var cb = CuadroBasico.Obtener(db, idAlmacen); //EN ESTE SELECT SE OBTIENEN LOS PRODUCTOS SIN EXISTENCIAS EN LA SEMANA Y AÑO DETALLADO if (inicioSemana >= cb.FechaInicio) { pd = db.prc_ProductosDesabastecidos(semana, anio, idAlmacen).ToList(); pa = db.prc_ProductosAbastecidos(semana, anio, idAlmacen).ToList(); } else { pd = db.prc_ProductosDesabastecidosPasado(semana, anio, inicioSemana, idAlmacen).ToList(); pa = db.prc_ProductosAbastecidosPasado(semana, anio, inicioSemana, idAlmacen).ToList(); } return((from d in pd join a in pa on new { d.nombre, d.cb } equals new { a.nombre, a.cb } select new BaseProductoAlmacen { Almacen = a.nombre, CuadroBasico = a.cb, Desabastecido = d.se, Abastecido = a.ce }).ToList()); } }