1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.IO;
using Microsoft.SqlServer;
using Microsoft.VisualBasic;
using Microsoft.CSharp;
using System.Diagnostics;
namespace IMR
{
class ProgramCSV // Début Programme
{
// Fonction Main
static void Main(string[] args)
{
DirectoryInfo dir = new DirectoryInfo("U:/Données FTP INPI/IMR_Donnees_Saisies/tc/flux/2017/06/01/0101/17");
Console.WriteLine("Recherche de fichier .csv :"); //Fonction de recherche de tout les fichiers .csv
foreach (var fi in dir.EnumerateFiles("*.csv",SearchOption.AllDirectories)) //On précise qu'on veut tout les répértoires
{
Console.WriteLine(fi.Name);
Console.WriteLine(DateTime.Now);
}
// On apelle les deux .exe dans notre main
Process.Start("C:/Utilitaires/UNIX2DOS.EXE");
Process.Start("C:/Utilitaires/Csv2Sql_new.exe");
}
public static void UnixToDos(string File, string outputPath) //la fonction permettant de rentrer les paramétres d'execution des 2 .exe
{
ProcessStartInfo startInfo = new ProcessStartInfo("C:/Utilitaires/UNIX2DOS.EXE");
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = "Unix2Dos" + "0101_17_20170601_070828_12_actes.csv" ;
try
{
// On lance le programme
// On attends la fin du programme
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch
{
// Log error.
}
}
public static void CsvToSql(string File , string outputPath) //la fonction permettant de rentrer les paramétres d'execution des 2 .exe
{
ProcessStartInfo startInfo = new ProcessStartInfo("C:/Utilitaires/UNIX2DOS.EXE");
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = "Csv2Sql_new" + "0101_17_20170601_070828_12_actes.csv" + "IMR_INPI..Acte /force " ;
try
{
// On lance le programme
// On attends la fin du programme
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
}
catch
{
// Log error.
}
// Instruction synchrone : Eviter la confusion lors de la consultations des logs
//faire des if pour push les 13 types d'objets sur les 13 tables différentes
//Possibilité d'argument : "Unix2Dos" + Filename + " Csv2Sql_new" + Filename + "IMR_INPI..ID fin de fichier /force "
//Prototype de fonction de traitement
// if fi = "*.csv"
// Lancer programme " Unix2Dos"
// if fi = "PM.csv"
// if fi = "PM_EVT.csv"
// if fi = "PP.csv"
// if fi = "PP_EVT.csv"
// if fi = "ets.csv"
// if fi = "ets_nouveau_modifie.csv"
// if fi = "ets_supprime_EVT.csv"
// if fi = "rep.csv"
// if fi = "rep_nouveau_modifie.csv"
// if fi = "rep_partant.csv"
// if fi = "obs.csv"
// if fi = "actes.csv"
// if fi = "comptes_annuels.csv"
// Lancer programme " Csv2Sql_new"
// Verifier qu'on est connecter à la BDD et à la bonne table
//Trouver un moyen d'éviter les doublons
//Tester Un premier dossier avant de lancer le tout
//Se Renseigner sur les tests unitaires
Console.ReadKey(); //On attends que l'utilisateur utilise une touche pour arrêter le processus
}
} // Fin Programme
} |
Partager