Esempio n. 1
0
        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);
            }
        }