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); } }
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); }
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); } }
//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()); }