public static Boolean verificationFichier(int cdServeur, int cdFlux, int cdClient, String designationFichier, String tailleFichier, DateTime date)
        {
            //Récupération des info du transfert
            int cdTrft = TransfertManager.getCdTransfert(cdFlux, cdClient, "En cours");

            //Récupération de l'emplacement serveur
            String CheminServeur = ServeurFluxManager.getCheminLocal(cdServeur, cdFlux);

            //Construction du chemin
            string fichier = @"" + CheminServeur + "\\" + designationFichier;

            //Calcul de la taille du fichier reçu
            FileInfo fInfo             = new FileInfo(fichier);
            String   tailleFichierRecu = fInfo.Length.ToString();

            //Vérification de l'intégralité du fichier
            if (tailleFichier == tailleFichierRecu)
            {
                TransactionManager.ajoutTransaction(cdTrft, "Verification integralité", null, "OK", date);
                TransactionManager.ajoutTransaction(cdTrft, "Transfert terminé", null, "OK", date);
                TransfertManager.modifTransfert(cdTrft, "Terminer");

                return(true);
            }
            else
            {
                TransactionManager.ajoutTransaction(cdTrft, "Verification integralité", null, "ERREUR", date);
                return(false);
            }
        }
示例#2
0
        public static Boolean ErreurTRFT(int cdServeur, int cdFlux, int cdClient, String designationFichier, String tailleFichier, DateTime date)
        {
            //Récupération des info du transfert
            int cdTrft = TransfertManager.getCdTransfert(cdFlux, cdClient, "En cours");

            //Enregistrement erreur
            TransactionManager.ajoutTransaction(cdTrft, "Transfert Fichier", null, "ERREUR", date);
            TransfertManager.modifTransfert(cdTrft, "Terminer");
            return(true);
        }
示例#3
0
 public static Boolean autorisationTransfert(int cdFlux, int cdClient, String designation, String tailleFichier, String etat, String ipSource, DateTime date)
 {
     if (TransfertManager.ajoutTransfert(cdFlux, cdClient, designation, tailleFichier, etat, ipSource, date) == true)
     {
         int cdTrft = TransfertManager.getCdTransfert(cdFlux, cdClient, etat);
         return(TransactionManager.ajoutTransaction(cdTrft, "Démarrage du transfert", null, "OK", date));
     }
     else
     {
         return(false);
     }
 }
示例#4
0
        //Excute un transfert
        private static void transfertVersServeurs(ServeurFlux flux)
        {
            ClientTCP          tcpClient = new ClientTCP();
            FTPHeliosTransfert ftpclient = new FTPHeliosTransfert();
            String             etat;

            FileInfo fInfo         = new FileInfo(@"" + flux.cheminLocal + "");
            long     tailleFichier = fInfo.Length;
            String   nomFichier    = fInfo.Name;
            String   cheminFichier = fInfo.DirectoryName;

            //Initialise un transfert vers serveur
            TransfertManager.ajoutTransfert(flux.codeFlux, Convert.ToInt32(ServeurManager.getCdClient(flux.codeServeur)), "Démarrage transfert", tailleFichier.ToString(), "En cours", ServeurManager.getAdresseIp(flux.codeServeur), DateTime.Now);

            //Récupération Code Transfert
            int cdTrft = TransfertManager.getCdTransfert(flux.codeFlux, Convert.ToInt32(ServeurManager.getCdClient(flux.codeServeur)), "En cours");

            //Enregistrement Log
            Log.EcrirLog("DEBUT - Lancement du Transfert N° " + cdTrft.ToString());

            //Connexion au serveur
            etat = tcpClient.connexionStream(ServeurManager.getAdresseIp(flux.codeServeur), Convert.ToInt32(ServeurManager.getTrftPort(flux.codeServeur)));

            if (etat == "true")
            {
                //Enregistrement des transaction
                TransactionManager.ajoutTransaction(cdTrft, "Connexion Serveur Helios Transfert", null, "OK", DateTime.Now);

                //Demande envoi de transfert
                etat = tcpClient.DemandeTransfertFichier(Convert.ToInt32(ServeurManager.getCdClient(flux.codeServeur)), flux.codeFlux, nomFichier, tailleFichier.ToString());
                if (etat == "true")
                {
                    //Déconnexion TCP - Permet de libérer le serveur d'une connexion (Modèle Asynchrone)
                    tcpClient.deconnexionStream();

                    //Enregistrement des transaction
                    TransactionManager.ajoutTransaction(cdTrft, "Demande de transfert de fichier", null, "OK", DateTime.Now);

                    //Envoi vers FTP
                    if (ftpclient.TransfertFTP(flux.codeServeur, cdTrft, cheminFichier, nomFichier) == true)
                    {
                        tcpClient.connexionStream(ServeurManager.getAdresseIp(flux.codeServeur), Convert.ToInt32(ServeurManager.getTrftPort(flux.codeServeur)));

                        etat = tcpClient.VerificationIntegraliteFichier(Convert.ToInt32(ServeurManager.getCdClient(flux.codeServeur)), flux.codeFlux, nomFichier, tailleFichier.ToString());

                        if (etat == "true")
                        {
                            //Enregistrement des transaction
                            TransactionManager.ajoutTransaction(cdTrft, "Vérification Intégralité du fichier envoyé", null, "OK", DateTime.Now);

                            //Terminer le transfert
                            TransfertManager.modifTransfert(cdTrft, "Terminer");

                            //Enregistrement Log
                            Log.EcrirLog("FIN - Transfert N° " + cdTrft.ToString());

                            return;
                        }
                        else
                        {
                            //Enregistrement des transaction
                            TransactionManager.ajoutTransaction(cdTrft, "Vérification Intégralité du fichier envoyé", etat, "ERREUR", DateTime.Now);
                            Log.EcrirLog(cdTrft.ToString() + " - " + etat);
                        }
                    }
                    else
                    {
                        tcpClient.EnvoiErreur(Convert.ToInt32(ServeurManager.getCdClient(flux.codeServeur)), flux.codeFlux, nomFichier, "Erreur FTP");
                        Log.EcrirLog(cdTrft.ToString() + " - " + etat);
                    }
                }
                else
                {
                    //Enregistrement des transaction
                    TransactionManager.ajoutTransaction(cdTrft, "Demande de transfert de fichier", etat, "ERREUR", DateTime.Now);
                    Log.EcrirLog(cdTrft.ToString() + " - " + etat);
                }
            }
            else
            {
                //Enregistrement des transaction
                TransactionManager.ajoutTransaction(cdTrft, "Connexion Serveur Helios Transfert", "Connexion Impossible", "ERREUR", DateTime.Now);
                Log.EcrirLog(cdTrft.ToString() + " - " + etat);
            }

            //Terminer le transfert
            TransfertManager.modifTransfert(cdTrft, "Terminer");

            //Enregistrement Log
            Log.EcrirLog("FIN - Transfert N° " + cdTrft.ToString());
        }