private string ArmarCadenaConsulta(vConsultaContratosParametrizadaDto Reg)
 {
     string Query = "SELECT " + CamposTraer() + " FROM CONTRATOS " + InnersJoins();
     Query = AgregarFiltro(Query, true, "CONTRATOS.VAL_ADI", "<", "10000000");
     Query = AgregarFiltro(Query, Reg.chkVigencia, "VIG_CON", "=", Reg.Vigencia);
     Query = AgregarFiltro(Query, !Reg.chkAnulados, "EST_CON", "!=" , "07");
     Query = AgregarFiltro(Query, Reg.chkNumeroContrato, "CONTRATOS.COD_CON", "=", Reg.NumeroContrato);
     Query = AgregarFiltro(Query, Reg.chkTipoContrato, "TIP_CON", "=", Reg.TipoContrato);
     Query = AgregarFiltro(Query, Reg.chkSubTipoContrato, "STIP_CON", "=", Reg.SubTipoContrato);
     Query = AgregarFiltro(Query, Reg.chkUltimaActa, "EST_CON", "=", Reg.UltimaActa);
     Query = AgregarFiltroEstado(Query, Reg.chkEstado, Reg.Estado);
     Query = AgregarFiltro(Query, Reg.chkSectorDestino, "COD_SEC", "=", Reg.SectorDestino);
     Query = AgregarFiltroProyecto(Query, Reg.chkProyecto, Reg.Proyecto);
     Query = AgregarFiltro(Query, Reg.chkDependenciaAcargo, "DEP_CON", "=", Reg.DependenciaAcargo);
     Query = AgregarFiltro(Query, Reg.chkDependenciaNecesidad, "DEP_PCON", "=", Reg.DependenciaNecesidad);
     Query = AgregarFiltroFecha(Query, Reg.chkFechaSuscripcion, "FEC_SUS_CON", ">=", Reg.FechaISuscripcion.ToString());
     Query = AgregarFiltroFecha(Query, Reg.chkFechaSuscripcion, "FEC_SUS_CON", "<=", Reg.FechaFSuscripcion.ToString());
     Query = AgregarFiltroFecha(Query, Reg.chkFechaRegistro, "FEC_REG", ">=", Reg.FechaIRegistro.ToString());
     Query = AgregarFiltroFecha(Query, Reg.chkFechaRegistro, "FEC_REG", "<=", Reg.FechaFRegistro.ToString());
     Query = AgregarFiltro(Query, Reg.chkContratista, "IDE_CON", "=", Reg.IdContratista);
     Query = AgregarFiltro(Query, Reg.chkInterventor, "IDE_REP", "=", Reg.IdInterventor);
     Query = AgregarFiltro(Query, Reg.chkTipoProceso, "COD_TPRO", "=", Reg.TipoProceso);
     Query = AgregarFiltroCDP(Query, Reg.chkDisponibilidadPresupuestal, Reg.DisponibilidadPresupuestal, Reg.VigenciaDisponibilidadPresupuestal);
     Query = AgregarFiltroRP(Query, Reg.chkRegistroPresupuestal, Reg.RegistroPresupuestal, Reg.VigenciaRegistroPresupuestal);
     Query = AgregarFiltroObjeto(Query, Reg.chkObjeto, Reg.Objeto);
     Query = AgregarFiltro(Query, Reg.chkValorContratoConvenio, "VAL_CON", ">=", Reg.ValorDesdePrecontractual);
     Query = AgregarFiltro(Query, Reg.chkValorContratoConvenio, "VAL_CON", "<=", Reg.ValorHastaPrecontractual);
     Query = AgregarFiltroRecurso(Query, Reg.chkRecurso, Reg.Recurso, Reg.Vigencia);
     return Query;
 }
 public List<vCON_CONTRATOS> Consultar(vConsultaContratosParametrizadaDto Reg)
 {
     using (ctx = new Entities())
     {
         List<vCON_CONTRATOS> lrContratos = new List<vCON_CONTRATOS>();
         string Query = ArmarCadenaConsulta(Reg);
         List<vCON_CONTRATOS> lContratos = ctx.Database.SqlQuery<vCON_CONTRATOS>(Query).ToList();                   
         return lContratos;
     }
 }
 public List<vCON_CONTRATOS> RealizarReporteParametrizado(vConsultaContratosParametrizadaDto Reg)
 {
     ReporteParametrizado o = new ReporteParametrizado();
     return o.Consultar(Reg);
 }