static void Main(string[] args) { Logger.Initialize(ConfigFile.LOG_FILE); ConfigFile.FOLDERDESTINATION = Path.Combine(ConfigFile.FOLDERDESTINATION_GENERAL, Timer.GetTimestampFolder(DateTime.Now)); Logger.PrintLC("AVVIO ESECUZIONE"); ExcelOps Accesso = new ExcelOps(); int result = MngProcesses.StartProcess(); switch (result) { case 0: break; case 1: break; case 6: Logger.PrintLC("Program stopped abruptly with this error: "); break; default: break; } //#################################### FINE_PROGRAMMA: MngProcesses.KillAllOf(MngProcesses.ProcList("EXCEL")); Logger.PrintLC("TERMINE ESECUZIONE"); Timer.SetSecondTime(DateTime.Now); Logger.PrintLC("Tempo esecuzione: " + Timer.GetTimeLapseFormatted(Timer.GetFirstTime(), Timer.GetSecondTime()) + Environment.NewLine); }
public static bool isFileOpenable(string file) { return(ExcelOps.isFileOpenable(file)); }
/// <summary> /// MAIN process /// </summary> /// <returns></returns> public static int StartProcess() { try { string[] ElencoExcel = DirOps.GetFilesToProcess(ConfigFile.ROOT, "*.xls|.xlsx"); List <string> gg = FileOps.GetTrueFilesToProcess(ElencoExcel); //#################################### //Ciclo MAIN foreach (var file in gg) { string TemplateFile = null; if (ExcelOps.FileValidation(file)) { FileT fileT = Parser.ParseFileName(file); string destERFile = null; if (fileT != null) { switch (fileT.TipoDBMS) { case ConfigFile.DB2_NAME: TemplateFile = ConfigFile.ERWIN_TEMPLATE_DB2; break; case ConfigFile.ORACLE: TemplateFile = ConfigFile.ERWIN_TEMPLATE_ORACLE; break; default: TemplateFile = ConfigFile.ERWIN_TEMPLATE_DB2; break; } FileInfo origin = new FileInfo(file); string fileName = Path.GetFileNameWithoutExtension(file); destERFile = Path.Combine(ConfigFile.FOLDERDESTINATION, fileName + Path.GetExtension(TemplateFile)); if (!FileOps.CopyFile(TemplateFile, destERFile)) { continue; } } else { continue; } //Apertura connessione per il file attuale ConnMng connessione = new ConnMng(); if (!connessione.openModelConnection(destERFile)) { continue; } //Aggiornamento della struttura dati per il file attuale if (!connessione.SetRootObject()) { continue; } if (!connessione.SetRootCollection()) { continue; } FileInfo fInfo = new FileInfo(file); List <EntityT> DatiFile = ExcelOps.ReadXFileEntity(fInfo, fileT.TipoDBMS); foreach (var dati in DatiFile) { connessione.CreateEntity(dati, TemplateFile); } fInfo = new FileInfo(Path.Combine(ConfigFile.FOLDERDESTINATION, Path.GetFileNameWithoutExtension(file) + ".xlsx")); List <AttributeT> AttrFile = null; if (File.Exists(fInfo.FullName)) { AttrFile = ExcelOps.ReadXFileAttribute(fInfo, fileT.TipoDBMS); } //ATTRIBUTI - PASSAGGIO UNO //Aggiornamento dati struttura if (!connessione.SetRootObject()) { continue; } if (!connessione.SetRootCollection()) { continue; } //############################ foreach (var dati in AttrFile) { connessione.CreateAttributePassOne(dati, TemplateFile); } //ATTRIBUTI - PASSAGGIO DUE //Aggiornamento dati struttura if (!connessione.SetRootObject()) { continue; } if (!connessione.SetRootCollection()) { continue; } //############################ foreach (var dati in AttrFile) { connessione.CreateAttributePassTwo(dati, TemplateFile); } //Chiusura connessione per il file attuale. connessione.CloseModelConnection(); } } return(0); } catch (Exception exp) { //return exp.HResult; return(6); } return(6); }