示例#1
0
        public CResultAErreur CopieFichierEnLocal(string strNomFichierLocal)
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_referenceAttachee == null)
            {
                return(result);
            }

            result = CDocumentGED.GetDocument(m_nIdSession, m_referenceAttachee);
            if (!result)
            {
                return(result);
            }

            CSourceDocumentStream source = result.Data as CSourceDocumentStream;

            if (source != null)
            {
                m_fichierLocal.Extension = m_referenceAttachee.GetExtension();

                m_fichierLocal.CreateNewFichier(strNomFichierLocal);
                m_strNomFichierLocal = m_fichierLocal.NomFichier;

                FileStream stream = new System.IO.FileStream(m_fichierLocal.NomFichier, System.IO.FileMode.Create);

                result = CStreamCopieur.CopyStream(source.SourceStream, stream, 32000);

                stream.Close();
                stream.Dispose();
                source.SourceStream.Close();
                source.Dispose();
                m_dateTimeFichierInGed = File.GetLastWriteTime(m_strNomFichierLocal);

                return(result);
            }
            CSourceDocumentLienDirect sourceDirecte = result.Data as CSourceDocumentLienDirect;

            if (sourceDirecte != null)
            {
                m_typeReferencePourGed = CTypeReferenceDocument.TypesReference.LienDirect;
                m_strNomFichierLocal   = sourceDirecte.NomFichier;
                return(result);
            }

            return(result);
        }