public List <ProyectoInversion> BuscarXFiltroConEntregaMaterial(String pStrCodSNIP, String pStrNombre, String pStrUbicacion, String pStrIdEstado) { List <ProyectoInversion> lstProyectos = new List <ProyectoInversion>(); ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL(); try { if (String.IsNullOrWhiteSpace(pStrNombre)) { pStrNombre = ""; } if (String.IsNullOrWhiteSpace(pStrUbicacion)) { pStrUbicacion = ""; } if (String.IsNullOrWhiteSpace(pStrIdEstado)) { pStrIdEstado = "0"; } ObrasPublicasEntities objContext = new ObrasPublicasEntities(); var objResult = objContext.sp_gop_get_proy_con_entmat(pStrNombre, pStrCodSNIP, pStrUbicacion, pStrIdEstado).ToList(); List <sp_gop_get_proy_con_entmat_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); }