//-------------------------------------------------------------------------
        private CResultAErreur MAJ_Modele()
        {
            CResultAErreur result = CResultAErreur.True;

            if (m_proxyReport != null && m_proxyReport.HasChange())
            {
                result = m_proxyReport.UpdateGed();
                if (result)
                {
                    CDocumentGED doc = Rapport.DocumentGED;
                    if (doc == null)
                    {
                        doc = new CDocumentGED(Rapport.ContexteDonnee);
                        doc.CreateNewInCurrentContexte();
                        doc.Descriptif      = "";
                        doc.DateCreation    = DateTime.Now;
                        Rapport.DocumentGED = doc;
                    }
                    doc.Libelle      = I.T("Report Model @1|30228", Rapport.Libelle);
                    doc.ReferenceDoc = (CReferenceDocument)result.Data;
                    doc.DateMAJ      = DateTime.Now;
                    doc.NumVersion++;
                    doc.IsFichierSysteme = true;
                }
            }
            return(result);
        }
Exemple #2
0
        private void DragDropFiles(string[] strFichiers, CObjetDonneeAIdNumerique objet, CCategorieGED categorie)
        {
            CContexteDonnee ctxAppli = CSc2iWin32DataClient.ContexteCourant;

            using (CContexteDonnee contexte = ctxAppli.GetContexteEdition())
            {
                if (MessageBox.Show(m_lblInfoDragDrop.Text, "", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    foreach (string strFichier in strFichiers)
                    {
                        if (File.Exists(strFichier))
                        {
                            string strTitre = Path.GetFileName(strFichier);
                            string strExt   = Path.GetExtension(strFichier);
                            if (strExt.Length > 0)
                            {
                                strTitre = strTitre.Remove(strTitre.Length - strExt.Length);
                            }
                            CDocumentGED document = new CDocumentGED(contexte);
                            document.CreateNewInCurrentContexte();
                            document.Libelle = strTitre;
                            if (objet != null)
                            {
                                document.AssocieA(objet);
                            }
                            if (categorie != null)
                            {
                                CRelationDocumentGED_Categorie rel = new CRelationDocumentGED_Categorie(contexte);
                                rel.CreateNewInCurrentContexte();
                                rel.Categorie = categorie;
                                rel.Document  = document;
                            }
                            CTypeReferenceDocument typeRef = m_cmbModeStockage.SelectedValue as CTypeReferenceDocument;
                            if (typeRef == null)
                            {
                                typeRef = new CTypeReferenceDocument(CTypeReferenceDocument.TypesReference.Fichier);
                            }
                            CProxyGED proxy = new CProxyGED(contexte.IdSession, typeRef.Code);
                            proxy.AttacheToLocal(strFichier);
                            CResultAErreur result = proxy.UpdateGed();
                            document.ReferenceDoc = result.Data as CReferenceDocument;
                        }
                    }
                    contexte.CommitEdit();
                    Init(m_elementEdite);
                }
            }
            m_lblInfoDragDrop.Visible = false;
        }
        //-------------------------------------------------------------------------
        protected override CResultAErreur MAJ_Champs()
        {
            CResultAErreur result = base.MAJ_Champs();

            if (!result)
            {
                return(result);
            }

            CConsultationAlarmesEnCours param = Consultation.Parametres;

            param.FormuleFiltre = m_txtFormuleFiltre.Formule;
            m_PanelListChampsExport.MajChamps();
            param.ListeColonnes           = m_PanelListChampsExport.ListeChamps;
            param.DelaiMasquageTerminnees = (m_txtDelaiMasquage.Text.Length > 0)? Convert.ToInt32(m_txtDelaiMasquage.Text) :0;
            Consultation.Parametres       = param;

            if (File.Exists(m_strNomFichierLocal))
            {
                Consultation.SoundFile = m_txtFichierSonnerie.Text;
                CDocumentGED doc   = Consultation.DocumentGEDSoundFile;
                CProxyGED    proxy = new CProxyGED(Consultation.ContexteDonnee.IdSession,
                                                   doc == null ? null : doc.ReferenceDoc);
                proxy.AttacheToLocal(Consultation.SoundFile);
                result = proxy.UpdateGed();
                if (result)
                {
                    if (doc == null)
                    {
                        doc = new CDocumentGED(Consultation.ContexteDonnee);
                        doc.CreateNewInCurrentContexte();
                        doc.Descriptif   = "";
                        doc.DateCreation = DateTime.Now;
                        Consultation.DocumentGEDSoundFile = doc;
                    }
                    doc.Libelle      = I.T("Alarm sound file|50065");
                    doc.ReferenceDoc = (CReferenceDocument)result.Data;
                    doc.DateMAJ      = DateTime.Now;
                    doc.NumVersion++;
                    doc.IsFichierSysteme = true;
                    Consultation.DocumentGEDSoundFile = doc;
                }
            }

            Consultation.ActiverEMail = m_chkActiver.Checked;

            return(result);
        }
Exemple #4
0
        //-----------------------------------------------------------------------------------
        private CResultAErreur EnregistrePieceJointeEnGED(MessagePart pieceJointe)
        {
            CResultAErreur result = CResultAErreur.True;

            if (pieceJointe != null && pieceJointe.IsAttachment)
            {
                int    nIndex       = pieceJointe.FileName.LastIndexOf(".");
                string strExtension = "";
                if (nIndex > 0)
                {
                    strExtension = pieceJointe.FileName.Substring(nIndex + 1);
                }
                else
                {
                    strExtension = "dat";
                }

                byte[] contenuPj = pieceJointe.Body;
                Stream fluxPJ    = new MemoryStream(contenuPj);
                if (fluxPJ.Length == 0)
                {
                    return(result);
                }

                CSourceDocument srcDoc          = new CSourceDocumentStream(fluxPJ, strExtension);
                CDocumentGED    documentAttache = new CDocumentGED(ContexteDonnee);
                documentAttache.CreateNewInCurrentContexte();
                documentAttache.AssocieA(this);
                documentAttache.Libelle = pieceJointe.FileName;
                result = CDocumentGED.SaveDocument(
                    ContexteDonnee.IdSession,
                    srcDoc,
                    new CTypeReferenceDocument(CTypeReferenceDocument.TypesReference.Fichier),
                    null,
                    false);
                srcDoc.Dispose();

                if (!result)
                {
                    return(result);
                }

                documentAttache.ReferenceDoc = result.Data as CReferenceDocument;
            }

            return(result);
        }
Exemple #5
0
        //--------------------------------------------------------------------------------
        private void AddDoc(string strNomFichier, IEnumerable <CCategorieGED> lstCats)
        {
            CDocumentGED doc = new CDocumentGED(m_contexteDonnee);

            doc.CreateNewInCurrentContexte();
            doc.Libelle = Path.GetFileName(strNomFichier);
            foreach (CObjetDonneeAIdNumerique objet in m_wndDocuments.GetListeAssociations(m_source))
            {
                doc.AssocieA(objet);
            }
            foreach (CCategorieGED categorie in lstCats)
            {
                doc.AddCategory(categorie);
            }

            C2iWndDocumentsGed.CInfoAffectationDocumentToGed info = new C2iWndDocumentsGed.CInfoAffectationDocumentToGed(strNomFichier, m_source);
            CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(info);

            foreach (CAffectationsProprietes aff in m_wndDocuments.Affectations)
            {
                CResultAErreur result = CResultAErreur.True;
                result.Data = true;
                if (aff.FormuleCondition != null)
                {
                    result = aff.FormuleCondition.Eval(ctx);
                }
                if (result && result.Data is bool && (bool)result.Data)
                {
                    result = aff.AffecteProprietes(doc, info, m_fournisseurProprietes);
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Some values cannot be assigned to EDM Document"));
                        CFormAfficheErreur.Show(result.Erreur);
                    }
                }
            }

            CNouveauDoc nouveauDoc = new CNouveauDoc(doc, strNomFichier);

            m_listeDocuments.Add(doc);
            m_listeNouveauxDocs.Add(nouveauDoc);
            UpdateVisuel();
        }
Exemple #6
0
        public void InsérerMibEnGed(int nModuleId)
        {
            CSpvMibmodule module = new CSpvMibmodule(m_contexteDonnees);

            Console.WriteLine("Lecture du module MIB");
            Assert.IsTrue(module.ReadIfExists(nModuleId));
            CResultAErreur result = CResultAErreur.True;

            if (File.Exists(module.FichierModule))
            {
                Console.WriteLine("le fichier existe");

                CDocumentGED doc   = module.DocumentGEDModuleMib;
                CProxyGED    proxy = new CProxyGED(m_contexteDonnees.IdSession,
                                                   doc == null ? null : doc.ReferenceDoc);
                proxy.AttacheToLocal(module.FichierModule);
                result = proxy.UpdateGed();
                if (result)
                {
                    if (doc == null)
                    {
                        Console.WriteLine("doc null :création d'un nouveau document GED");
                        doc = new CDocumentGED(m_contexteDonnees);
                        doc.CreateNewInCurrentContexte();
                        doc.Descriptif   = "";
                        doc.DateCreation = DateTime.Now;


                        doc.Libelle      = "MIB file " + module.NomModuleUtilisateur;
                        doc.ReferenceDoc = (CReferenceDocument)result.Data;
                        doc.DateMAJ      = DateTime.Now;
                        doc.NumVersion++;
                        doc.IsFichierSysteme        = true;
                        module.DocumentGEDModuleMib = doc;
                    }
                }



                Console.WriteLine("vérification des donnéees");
                result = module.VerifieDonnees(false);
                if (!result)
                {
                    System.Console.WriteLine(result.MessageErreur);
                }
                Assert.IsTrue(result.Result);

                Console.WriteLine("enregistrement des donnéées");
                m_contexteDonnees.SaveAll(true);
                if (!result)
                {
                    System.Console.WriteLine(result.MessageErreur);
                }

                Assert.IsTrue(result.Result);


                int nDocId = doc.Id;

                CDocumentGED doctest = new CDocumentGED(m_contexteDonnees);
                Console.WriteLine("lecture du document GED");
                Assert.IsTrue(doctest.ReadIfExists(nDocId));

                Console.WriteLine(doctest.Id);
                Console.WriteLine(doctest.Libelle);
            }
        }
Exemple #7
0
        private CResultAErreur ImportRep(CProjet projetNominal,
                                         CProjet projetCandidat,
                                         CRepertoire rep,
                                         string strPathGed)
        {
            CResultAErreur result = CResultAErreur.True;

            rep.ImportDone = true;
            strPathGed    += "\\" + rep.Nom;
            CMappingRepToDocSetup map = CMappingRepToDocSetup.GetMapping(rep.Nom);

            foreach (CFichier fichier in rep.GetChilds <CFichier>())
            {
                if (map == null)
                {
                    fichier.InfoImport = "No mapping for this directory";
                }
                else
                {
                    CObjetDonneeAIdNumerique objet = map.GetObjet(projetNominal,
                                                                  projetCandidat,
                                                                  fichier.Nom);
                    if (objet == null)
                    {
                        fichier.InfoImport = "Can not find associated objet for this file";
                    }
                    else
                    {
                        CCategorieGED cat = map.GetCatégorie(projetNominal.ContexteDonnee);
                        if (cat == null)
                        {
                            fichier.InfoImport = "Can not find EDM category for this file";
                        }
                        else
                        {
                            string       strCode = objet.IdUniversel + "/" + fichier.Nom;
                            CDocumentGED doc     = new CDocumentGED(projetNominal.ContexteDonnee);
                            if (!doc.ReadIfExists(new CFiltreData(CDocumentGED.c_champCle + "=@1", strCode)))
                            {
                                doc.CreateNewInCurrentContexte();
                            }
                            doc.Libelle = fichier.Nom;
                            doc.Cle     = strCode;
                            CReferenceDocument refDoc = new CReferenceDocument();
                            refDoc.TypeReference = new CTypeReferenceDocument(CTypeReferenceDocument.TypesReference.Fichier);
                            refDoc.NomFichier    = strPathGed + "\\" + fichier.Nom;
                            doc.ReferenceDoc     = refDoc;
                            doc.AddCategory(cat);
                            doc.AssocieA(objet);
                            fichier.SetObjetAssocie(objet);
                        }
                    }
                }
            }
            foreach (CRepertoire child in rep.GetChilds <CRepertoire>())
            {
                result = ImportRep(projetNominal, projetCandidat, child, strPathGed);
                if (!result)
                {
                    return(result);
                }
            }

            return(result);
        }