public int Inserta(DateTime pDatFecEntregaProg,DateTime pDatFecEntregaEfec,String pStrObservaciones,
            String pStrTipoEntrega,int pIntIdProveedor,int pIntIdMaterial, int pIntCantidad, int pIntIdProyecto)
        {
            int intResultado = -999;
            ObrasPublicasEntities objContext = new ObrasPublicasEntities();

            try{
                ProyectoInversion_DAL objProyectoInversion_DAL = new ProyectoInversion_DAL();
                ProyectoInversion objProyectoInversion =  objProyectoInversion_DAL.ObtieneXId(pIntIdProyecto);

                if (objProyectoInversion.IdEstado == ProyectoInversion.STR_ID_ESTADO_ADJUDICADO)
                {
                    intResultado = -998;
                }
                else
                {
                    OP_ENTREGA_MATERIAL objEntregaMaterial = new OP_ENTREGA_MATERIAL();
                    objEntregaMaterial.coMaterial = pIntIdMaterial;
                    objEntregaMaterial.coProveedor = pIntIdProveedor;
                    objEntregaMaterial.coProyecto = pIntIdProyecto;
                    objEntregaMaterial.feEntregaEfectiva = pDatFecEntregaEfec;
                    objEntregaMaterial.feEntregaProgramada = pDatFecEntregaProg;
                    objEntregaMaterial.noTipoEntrega = pStrTipoEntrega;
                    objEntregaMaterial.nuCantidad = pIntCantidad;
                    objEntregaMaterial.txObservaciones = pStrObservaciones;

                    objContext.AddToOP_ENTREGA_MATERIAL(objEntregaMaterial);
                    int intRows = objContext.SaveChanges();

                    if (intRows > 0)
                    {
                        intResultado = 1;
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.ToString().Contains("IX_op_proyecto_inversion_publica"))
                {
                    intResultado = -998;
                }
            }
            return intResultado;
        }