Exemplo n.º 1
0
 private void FillLogs(CRepertoire repertoire, StringBuilder bl)
 {
     if (repertoire.InfoImport.Length > 0)
     {
         bl.Append(repertoire.FullName);
         bl.Append("\t");
         bl.Append(repertoire.InfoImport);
         bl.Append(Environment.NewLine);
     }
     foreach (CFichier fichier in repertoire.GetChilds <CFichier>())
     {
         if (fichier.InfoImport.Length > 0)
         {
             bl.Append(repertoire.FullName);
             bl.Append("/");
             bl.Append(fichier.Nom);
             bl.Append("\t");
             bl.Append(fichier.InfoImport);
             bl.Append(Environment.NewLine);
         }
     }
     foreach (CRepertoire rep in repertoire.GetChilds <CRepertoire>())
     {
         FillLogs(rep, bl);
     }
 }
Exemplo n.º 2
0
 private void FillDic(CRepertoire repertoire, CInfoProjet infoEnCours)
 {
     if (repertoire.GetChilds <CFichier>().Count() > 0)
     {
         List <CInfoProjet> lst = null;
         if (!m_dicRepsToProjets.TryGetValue(repertoire.Nom.ToUpper(), out lst))
         {
             lst = new List <CInfoProjet>();
             m_dicRepsToProjets[repertoire.Nom.ToUpper()] = lst;
         }
         lst.Add(infoEnCours);
     }
     foreach (CRepertoire sub in repertoire.GetChilds <CRepertoire>())
     {
         FillDic(sub, infoEnCours);
     }
 }
Exemplo n.º 3
0
 private void FillNode(TreeNode node, CRepertoire dossier)
 {
     node.Text               = dossier.Nom;
     node.ImageIndex         = GetIndexImageDossier(dossier);
     node.SelectedImageIndex = node.ImageIndex;
     node.Tag = dossier;
     if (node.Nodes.Count == 0 && dossier.GetChilds <CRepertoire>().Count() > 0)
     {
         node.Nodes.Add(new TreeNode());
     }
 }
Exemplo n.º 4
0
 public void Create(CRepertoire repertoireRacine)
 {
     foreach (CRepertoire repProjet in repertoireRacine.GetChilds <CRepertoire>())
     {
         foreach (CRepertoire repCandidat in repProjet.GetChilds <CRepertoire>())
         {
             CInfoProjet info = new CInfoProjet(repProjet.Nom, repCandidat.Nom);
             foreach (CRepertoire repDetail in repCandidat.GetChilds <CRepertoire>())
             {
                 FillDic(repDetail, info);
             }
         }
     }
 }
Exemplo n.º 5
0
        private void FillChildrens(TreeNode nodeToFill)
        {
            m_arbre.BeginUpdate();
            nodeToFill.Nodes.Clear();
            CRepertoire        dossier  = nodeToFill.Tag as CRepertoire;
            List <CRepertoire> dossiers = new List <CRepertoire>(dossier.GetChilds <CRepertoire>());

            dossiers.Sort((x, y) => x.Nom.CompareTo(y.Nom));
            foreach (CRepertoire dossierFils in dossiers)
            {
                if (ShoudSeeDossier(dossierFils))
                {
                    TreeNode node = new TreeNode();
                    FillNode(node, dossierFils);
                    nodeToFill.Nodes.Add(node);
                }
            }
            m_arbre.EndUpdate();
        }
Exemplo n.º 6
0
        private CResultAErreur ImportRepCandidat(CProjet projetNominal,
                                                 CProjet projetCandidat,
                                                 CRepertoire repCandidat,
                                                 string strPathGed)
        {
            strPathGed += "\\" + repCandidat.Nom;
            CResultAErreur result = CResultAErreur.True;

            repCandidat.ImportDone = true;
            foreach (CRepertoire repertoire in repCandidat.GetChilds <CRepertoire>())
            {
                result = ImportRep(projetNominal, projetCandidat, repertoire, strPathGed);
                if (!result)
                {
                    return(result);
                }
            }
            return(result);
        }
Exemplo n.º 7
0
        public CResultAErreur ImporteDossierProjet(
            CProjet projetNominal,
            CRepertoire repertoire,
            string strPathGed)
        {
            repertoire.ClearDataImport();
            repertoire.ImportDone = true;
            //Trouve le projet candidat
            CProjet candidat = projetNominal.TousLesProjetsFils.FirstOrDefault(p => p.TypeProjet.Id == 14);

            if (candidat == null)
            {
                repertoire.InfoImport = "No candidate for this directory";
                return(CResultAErreur.True);
            }
            CResultAErreur result       = CResultAErreur.True;
            object         numCandidate = candidat.GetValeurChamp(2589);

            if (numCandidate == null)
            {
                repertoire.InfoImport = "Candidate " + candidat.Libelle + " has no candidate number";
                return(result);
            }
            string strNomCandidat = "Candidate " + numCandidate.ToString().PadLeft(2, '0');

            //Cherche le répertoire du candidat

            foreach (CRepertoire rep in repertoire.GetChilds <CRepertoire>())
            {
                if (rep.Nom.ToUpper().Equals(strNomCandidat.ToUpper()))
                {
                    result = ImportRepCandidat(projetNominal, candidat, rep, strPathGed);
                    return(result);
                }
            }
            repertoire.InfoImport = "Can not find directory " + strNomCandidat;
            return(result);
        }
Exemplo n.º 8
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);
        }