public List<EntregaMaterialOP> ObtieneEntregasXIdProyecto(int pIntIdProyecto)
        {
            List<EntregaMaterialOP> lstEntregas = new List<EntregaMaterialOP>();
            try
            {
                ObrasPublicasEntities objContext = new ObrasPublicasEntities();
                //MUNI_INTEGRADOEntities1 objContextIntegrado = new MUNI_INTEGRADOEntities1();

                var objResult = objContext.sp_gop_get_ent_mat_x_proy(pIntIdProyecto).ToList();

                List<sp_gop_get_ent_mat_x_proy_Result> lstEntregaTmp = objResult;

                //var lstEntregaTmp = (from ent in objContext.OP_ENTREGA_MATERIAL
                //                     join prov in objContextIntegrado.MA_PROVEEDOR on ent.coProveedor equals prov.IdProveedor
                //                     join emp in objContextIntegrado.MA_PERSONAJURIDICA on prov.IdPersona equals emp.idPersona
                //                  join mat in objContext.OP_MATERIAL on ent.coMaterial equals mat.coMaterial
                //                  select new { ent, prov,emp, mat }).ToList();
                //where(ent.coEntrega == pIntIdProyecto)

                foreach (var objEntregaTmp in lstEntregaTmp)
                {
                    EntregaMaterialOP objEntregaMaterialOP = new EntregaMaterialOP();

                    ProyectoInversion objProyectoInversion = new ProyectoInversion();

                    if (objEntregaTmp.coProyecto.HasValue) {
                        objProyectoInversion.IdProyecto = objEntregaTmp.coProyecto.Value;
                    }
                    objEntregaMaterialOP.IdEntrega = objEntregaTmp.coEntrega;
                    objEntregaMaterialOP.Proyecto = objProyectoInversion;

                    Proveedor objProveedor = new Proveedor();
                    objProveedor.IdProveedor = objEntregaTmp.coProveedor;
                    objProveedor.RazonSocial = objEntregaTmp.RazonSocial;
                    objEntregaMaterialOP.Proveedor = objProveedor;

                    if (objEntregaTmp.nuCantidad.HasValue) {
                        objEntregaMaterialOP.Cantidad = objEntregaTmp.nuCantidad.Value;
                    }
                    if (objEntregaTmp.feEntregaEfectiva.HasValue){
                        objEntregaMaterialOP.FecEntregaEfec = objEntregaTmp.feEntregaEfectiva.Value;
                    }
                    if (objEntregaTmp.feEntregaProgramada.HasValue) {
                        objEntregaMaterialOP.FecEntregaProg = objEntregaTmp.feEntregaProgramada.Value;
                    }

                    MaterialOP objMaterial = new MaterialOP();
                    objMaterial.IdMaterial = objEntregaTmp.coMaterial;
                    objMaterial.Nombre = objEntregaTmp.noMaterial;
                    objEntregaMaterialOP.Material = objMaterial;

                    objEntregaMaterialOP.Observaciones = objEntregaTmp.txObservaciones;
                    objEntregaMaterialOP.TipoEntrega = objEntregaTmp.noTipoEntrega;
                    lstEntregas.Add(objEntregaMaterialOP);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            return lstEntregas;
        }