public List <ProyectoInversion> BuscarXFiltro(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado) { List <ProyectoInversion> lstProyectos = new List <ProyectoInversion>(); try { ObrasPublicasEntities objContext = new ObrasPublicasEntities(); if (String.IsNullOrWhiteSpace(pStrNombre)) { pStrNombre = ""; } if (String.IsNullOrWhiteSpace(pStrUbicacion)) { pStrUbicacion = ""; } if (String.IsNullOrWhiteSpace(pStrIdEstado)) { pStrIdEstado = "0"; } var objResult = objContext.sp_gop_get_proy_x_filtro(pStrNombre, pStrCodSNIP, pStrUbicacion, pStrIdEstado).ToList(); List <sp_gop_get_proy_x_filtro_Result> lstProyectosTmp = objResult; foreach (var objProyTmp in lstProyectosTmp) { ProyectoInversion objProyecto = new ProyectoInversion(); objProyecto.CodSNIP = objProyTmp.coSNIP; objProyecto.Nombre = objProyTmp.noNombre; objProyecto.IdProyecto = objProyTmp.coProyecto; objProyecto.Ubicacion = objProyTmp.txUbicacion; objProyecto.NomVia = objProyTmp.noNomVia; objProyecto.TipoVia = objProyTmp.noTipoVia; objProyecto.IdEstado = objProyTmp.noEstado; objProyecto.NomEstado = ObtieneEstados(null).Where(e => e.Id == objProyTmp.noEstado).First().Nombre; lstProyectos.Add(objProyecto); } } catch (Exception ex) { throw new Exception(ex.ToString()); } return(lstProyectos); }