예제 #1
0
        private void ListerContenuLocal(object sender, EventArgs e)
        {
            ITransfer     unTransferable = (ITransfer)trv_arboLocal.SelectedNode.Tag;
            ElementFolder unDossier      = null;

            if (unTransferable.EstUnDossier())
            {
                unDossier = (ElementFolder)unTransferable;
                lst_itranfertLocal.Items.Clear();

                foreach (ITransfer item in unDossier.ListerContenu())
                {
                    ListViewItem uneListItem = new ListViewItem();
                    uneListItem.Text = item.GetName();
                    uneListItem.Tag  = item;

                    if (item.EstUnDossier())
                    {
                        uneListItem.ImageIndex = 0;
                    }
                    else
                    {
                        uneListItem.ImageIndex = 1;
                    }

                    lst_itranfertLocal.Items.Add(uneListItem);
                }
            }
        }
예제 #2
0
        public void Supprimer(ITransfer transfer)
        {
            using (_monFtp = new Ftp())
            {
                _monFtp.Connect(_maConfig.Host, _maConfig.Port);
                _monFtp.Login(_maConfig.Login, _maConfig.MotDePass);

                string resteChemin = MethodesGlobales.GetCheminServerSansRacinne(transfer.GetPath(), _maConfig.GetUriChaine());

                if (string.IsNullOrEmpty(resteChemin))
                {
                    VariablesGlobales._leLog.LogCustom("Vous ne pouvez supprimer le répertoire racinne !");
                    MessageBox.Show("Vous ne pouvez supprimer le répertoire racinne !");
                }
                else
                {
                    if (transfer.EstUnDossier())
                    {
                        _monFtp.DeleteFolder(resteChemin);
                    }
                    else
                    {
                        _monFtp.DeleteFile(resteChemin);
                    }
                }

                _monFtp.Close();
            }
        }
예제 #3
0
 public override void Supprimer(ITransfer transfer)
 {
     if (transfer.EstUnDossier())
     {
         Directory.Delete(transfer.GetPath());
     }
     else
     {
         File.Delete(transfer.GetPath());
     }
 }
예제 #4
0
 /// <summary>
 /// Constructeur de la classe
 /// </summary>
 /// <param name="theFolder">élement de transfer de type dossier (ElementFolder)</param>
 public LocalManager(ITransfer theFolder)
 {
     if (theFolder.EstUnDossier())
     {
         base._pathRoot    = theFolder.GetPath();
         base._lesDossiers = new List <ITransfer>();
         base._lesDossiers.Add((ElementFolder)theFolder.Clone());
     }
     else
     {
         throw new DirectoryNotFoundException(string.Format("{0} n'existe pas !", theFolder.GetPath()));
     }
 }
예제 #5
0
        public override List <ITransfer> ListerContenu(ITransfer leDossier)
        {
            List <ITransfer> lesElementContenus = new List <ITransfer>();

            if (leDossier.EstUnDossier())
            {
                ElementFolder unElementFolder = (ElementFolder)leDossier;

                lesElementContenus.AddRange(ListerContenu(unElementFolder));
            }
            else
            {
                MethodesGlobales.AfficherMessage(string.Format("{0} N'est pas un dossier ! Il est impossible de le lister", leDossier.GetPath()), "Erreur de listage de contenu");
            }

            return(lesElementContenus);
        }
예제 #6
0
        private void DownloadITranfert(object sender, EventArgs e, ITransfer unDossierOuFichier)
        {
            if (_mesGestionnaires.ContainsKey("$DistantManager"))
            {
                DistantManager monManager = (DistantManager)_mesGestionnaires["$DistantManager"];


                if (!string.IsNullOrEmpty(trv_arboLocal.SelectedNode.Text))
                {
                    if (!string.IsNullOrEmpty(lst_itransfertDistant.SelectedItems[0].Text))
                    {
                        if (!string.IsNullOrEmpty(trv_arboDistant.SelectedNode.Text))
                        {
                            ITransfer     unTranferable   = (ITransfer)lst_itransfertDistant.SelectedItems[0].Tag;
                            ElementFolder unElementFolder = unElementFolder = (ElementFolder)trv_arboLocal.SelectedNode.Tag;

                            if (unTranferable.EstUnDossier())
                            {
                                DownloadDossier(sender, e, monManager, unTranferable);
                            }
                            else
                            {
                                DownloadFichier(monManager, unTranferable);
                            }

                            trv_arboLocal.SelectedNode.Nodes.Clear();

                            unElementFolder.Rafraichir();
                            ExtraireNode(_mesGestionnaires["$LocalManager"].ListerContenu(unElementFolder), trv_arboLocal.SelectedNode);

                            LocalManager monLocalManager = (LocalManager)_mesGestionnaires["$LocalManager"];

                            trv_arboLocal_AfterSelect(sender, e);

                            trv_arboDistant.SelectedNode.Nodes.Clear();
                            ExtraireNode(_mesGestionnaires["$DistantManager"].ListerContenu((ITransfer)trv_arboDistant.SelectedNode.Tag), trv_arboDistant.SelectedNode);
                            trv_arboDistant_AfterSelect(sender, e);
                        }
                        else
                        {
                        }
                    }
                }
            }
        }
예제 #7
0
        private void UploadITranfert(object sender, EventArgs e, ITransfer unDossierOuFichier)
        {
            if (_mesGestionnaires.ContainsKey("$DistantManager"))
            {
                DistantManager monManager = (DistantManager)_mesGestionnaires["$DistantManager"];

                if (!string.IsNullOrEmpty(trv_arboLocal.SelectedNode.Text))
                {
                    if (!string.IsNullOrEmpty(lst_itranfertLocal.SelectedItems[0].Text))
                    {
                        ITransfer unTranferable = (ITransfer)lst_itranfertLocal.SelectedItems[0].Tag;

                        if (unTranferable.EstUnDossier())
                        {
                            UploadDossier(sender, e, monManager, unTranferable);
                        }
                        else
                        {
                            UploadFichier(monManager, unTranferable);
                        }

                        trv_arboDistant.SelectedNode.Nodes.Clear();
                        ExtraireNode(_mesGestionnaires["$DistantManager"].ListerContenu((ITransfer)trv_arboDistant.SelectedNode.Tag), trv_arboDistant.SelectedNode);
                        trv_arboDistant_AfterSelect(sender, e);
                    }
                    else
                    {
                        VariablesGlobales._leLog.LogCustom("Vous n'avez pas sélectionné de dossier local. Veuillez un sélectionner un pour l'upload.");
                    }
                }
                else
                {
                    VariablesGlobales._leLog.LogCustom("Vous n'avez as sélectionné un élement de l'arborescence locale. Veuillez en sélectionner une.");
                }
            }
            else
            {
                VariablesGlobales._leLog.LogCustom("merci de sélectionner le dossier de destination");
            }
        }
예제 #8
0
        private void ListerContenuDistant(object sender, EventArgs e)
        {
            ITransfer     unTransferable = (ITransfer)trv_arboDistant.SelectedNode.Tag;
            ElementFolder unDossier      = null;

            if (unTransferable.EstUnDossier())
            {
                unDossier = (ElementFolder)unTransferable;
                lst_itransfertDistant.Items.Clear();

                List <ITransfer> desTransfertDistant = ((DistantManager)_mesGestionnaires["$DistantManager"]).ListerContenu(unDossier);
                trv_arboDistant.SelectedNode.Nodes.Clear();
                ExtraireNode(desTransfertDistant, trv_arboDistant.SelectedNode);

                foreach (ITransfer item in desTransfertDistant)
                {
                    ListViewItem uneListItem = new ListViewItem();
                    uneListItem.Text = item.GetName();
                    uneListItem.Tag  = item;

                    if (item.EstUnDossier())
                    {
                        uneListItem.ImageIndex = 0;
                    }
                    else
                    {
                        uneListItem.ImageIndex = 1;
                    }

                    lst_itransfertDistant.Items.Add(uneListItem);
                }
            }
            else
            {
                lst_itransfertDistant.Items.Clear();
            }
        }
예제 #9
0
        private void AfficherTreeNode(TreeNode uneTreeNode, ListView uneListeRecepteur, bool actionLocal = true)
        {
            ITransfer unTranferable = null;

            if (!string.IsNullOrEmpty(uneTreeNode.Text))
            {
                unTranferable = (ITransfer)uneListeRecepteur.SelectedItems[0].Tag;
                List <ITransfer> lesTranferables = new List <ITransfer>();

                if (unTranferable.EstUnDossier())
                {
                    TreeNode leNodeSelectionne = new TreeNode();
                    leNodeSelectionne.Text       = unTranferable.GetName();
                    leNodeSelectionne.Name       = unTranferable.GetName();
                    leNodeSelectionne.ImageIndex = 0;
                    leNodeSelectionne.Tag        = unTranferable;
                    int  indiceTrouve  = RechercherTreeNode(leNodeSelectionne, uneTreeNode);
                    bool managerExiste = false;

                    if (actionLocal)
                    {
                        if (_mesGestionnaires.ContainsKey("$LocalManager"))
                        {
                            lesTranferables = _mesGestionnaires["$LocalManager"].ListerContenu(unTranferable);
                            leNodeSelectionne.Nodes.Clear();
                            ExtraireNode(lesTranferables, leNodeSelectionne);
                            managerExiste = true;
                        }
                        else
                        {
                            MessageBox.Show("Le gestionnaire de fichier local n'est pas présent dans le gestionnaire !");
                        }
                    }
                    else
                    {
                        if (_mesGestionnaires.ContainsKey("$DistantManager"))
                        {
                            lesTranferables = _mesGestionnaires["$DistantManager"].ListerContenu(unTranferable);
                            leNodeSelectionne.Nodes.Clear();
                            ExtraireNode(lesTranferables, leNodeSelectionne);
                            managerExiste = true;
                        }
                        else
                        {
                            MessageBox.Show("La connexion au serveur ftp n'est pas configurée !");
                        }
                    }

                    if (managerExiste)
                    {
                        uneTreeNode = uneTreeNode.Nodes[indiceTrouve];

                        if (actionLocal)
                        {
                            trv_arboLocal.Select();
                            trv_arboLocal.SelectedNode = uneTreeNode;
                        }
                        else
                        {
                            trv_arboDistant.Select();
                            trv_arboDistant.SelectedNode = uneTreeNode;
                        }

                        uneTreeNode.Expand();
                    }
                }
            }
        }