public List <SPARTIDAS> SearchAnual(List <int> Periodos, List <string> Unidades, List <string> Proyectos, List <int> Partidas, List <int> Fuentes, List <int> Recursos, List <int> Capitulos) { try { if (Periodos[0] == 0) { Periodos = this.getPeriodos(); } if (Unidades[0].Equals("0")) { Unidades = this.getUNIDADM().Select(x => x.Key).ToList(); } if (Proyectos[0] == "0") { Proyectos = this.getProyect().Select(x => x.Key).ToList(); } if (Partidas[0] == 0) { Partidas = this.getPartid().Select(x => int.Parse(x.Key)).ToList(); } if (Fuentes[0] == 0) { Fuentes = this.getFuente().Select(x => int.Parse(x.Key)).ToList(); } if (Recursos[0] == 0) { Recursos = this.getRecurso().Select(x => int.Parse(x.Key)).ToList(); } if (Capitulos[0] == 0) { Capitulos = this.getCapitulo().Select(x => int.Parse(x.Key)).ToList(); } using (dbcontex = new SIENCHAFAEntities()) { PresupuestoModels presupuestoModels = new PresupuestoModels(); List <SPARTIDAS> Result = dbcontex.SPARTIDAS.Where(x => Proyectos.Contains(x.ID_PROYECTO) && Partidas.Contains(x.CLV_PARTID) && Unidades.Contains(x.CLV_UNIDADM) && Fuentes.Contains(x.CLV_FUENTE.Value) && Recursos.Contains(x.CLV_RECURSO.Value) && Capitulos.Contains(x.CLV_CAPITULO.Value) ) .OrderBy(x => x.ID_PROYECTO) .ThenBy(x => x.CLV_PARTID) .ToList(); return(Result); } } catch (Exception ex) { throw (ex); } }