//--------------------------------------------------------------------- public CProxyGED(int nIdSession, CReferenceDocument referenceDocumentGed) { m_referenceAttachee = referenceDocumentGed; if (m_referenceAttachee != null) { m_typeReferencePourGed = m_referenceAttachee.TypeReference.Code; } m_nIdSession = nIdSession; }
//------------------------------------------------------------------- public override bool Equals(object obj) { CReferenceDocument refDoc = obj as CReferenceDocument; if (refDoc == null) { return(false); } return(refDoc.NomFichier.Equals(NomFichier) && refDoc.CodeTypeReference.Equals(CodeTypeReference)); }
//------------------------------------------------------------------- /// <summary> /// Retourne dans le data du result un CSourceDocument lié sur le document /// </summary> /// <param name="reference"></param> /// <returns></returns> public static CResultAErreur GetDocument(int nIdSession, CReferenceDocument reference) { CResultAErreur result = CResultAErreur.True; ///TODO ///Problème VersionObjet IDocumentServeur doc = (IDocumentServeur)CContexteDonnee.GetTableLoader(CDocumentGED.c_nomTable, null, nIdSession); result = doc.GetDocument(reference); return(result); }
//------------------------------------------------------------------- public static CResultAErreur SaveDocument( int nIdSession, CSourceDocument source, CTypeReferenceDocument tpRef, CReferenceDocument versionPrecedente, bool bIncrementeVersionFichier) { CResultAErreur result = CResultAErreur.True; ///TODO ///Problème VersionObjet IDocumentServeur doc = (IDocumentServeur)CContexteDonnee.GetTableLoader(CDocumentGED.c_nomTable, null, nIdSession); result = doc.SaveDocument(source, tpRef, versionPrecedente, bIncrementeVersionFichier); return(result); }
//--------------------------------------------------------------------- /// <summary> /// Le data du result contient la nouvelle référence au document /// </summary> /// <returns></returns> public CResultAErreur UpdateGed(bool bIncrementeVersionFichier) { CResultAErreur result = CResultAErreur.True; try { //Regarde si le fichier a été modifié try { DateTime dt = File.GetLastWriteTime(m_strNomFichierLocal); if (dt == m_dateTimeFichierInGed) { return(result); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("EDM updating error|112")); return(result); } CSourceDocument sourceDoc = null; switch (TypeReference) { case CTypeReferenceDocument.TypesReference.Fichier: FileStream fs = new FileStream(m_strNomFichierLocal, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); int nIndex = m_strNomFichierLocal.LastIndexOf("."); string strExtension = ""; if (nIndex > 0) { strExtension = m_strNomFichierLocal.Substring(nIndex + 1); } else { strExtension = "dat"; } sourceDoc = new CSourceDocumentStream(fs, strExtension); break; case CTypeReferenceDocument.TypesReference.LienDirect: sourceDoc = new CSourceDocumentLienDirect(m_strNomFichierLocal); break; } if (sourceDoc == null) { result.EmpileErreur(I.T("Error in document transfering to EDM |113")); return(result); } result = CDocumentGED.SaveDocument(m_nIdSession, sourceDoc, new CTypeReferenceDocument(TypeReference), m_referenceAttachee, bIncrementeVersionFichier); sourceDoc.Dispose(); if (result) { m_referenceAttachee = (CReferenceDocument)result.Data; m_dateTimeFichierInGed = File.GetLastWriteTime(m_strNomFichierLocal); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error in document transfering to EDM|113")); } return(result); }