public string[] getFiles(DateTime end) { List <string> files = new List <string>(); try { string[] tablesName = getListOfTableInPeriod("data", end); foreach (string table in tablesName) { try { files.AddRange(VsDbConnection.getFiles(table, end)); } catch (Exception ex) { if (VsDbDelete.setmsg != null) { VsDbDelete.setmsg("ex", "in getFiles before:" + end + ex.Message + " " + ex.StackTrace); } } }//ǹ·Ó·Ø¡ table ·ÕèÍÂÙè㹪èǧ firstTable ¶Ö§ endTable } catch (Exception ex) { throw ex; } return(files.ToArray()); }
private int deleteMainDataAndFileEachTable(string table, DateTime end) { //´Ö§ª×èÍfile ÁÒ¨Ò¡ main DB string[] filesName = VsDbConnection.getFiles(table, end); //àÍÒ¤èÒ¨Ò¡ä¿Åì config AppConfigData config = new AppConfigData(); config.LoadSettings("app.config"); string rootDir = config.localHost.Storage;//new FileInfo(filesName[0]).Directory.Parent.Parent.FullName; //ź¢éÍÁÙÅã¹ main DB int numMainDbDelte = VsDbConnection.deleteMainData(table, end); //źfile int numFileDelete = fileManage.deleteFile(filesName); //¶éÒäÁèÁÕ¢éÍÁÙÅàËÅ×Íã¹µÒÃÒ§¡çãËéźµÒÃÒ§·Ôé§ if (VsDbConnection.getNumDataInTable(table) == 0) { if (!table.Equals(VsDbConnection.DateTimeToTableName("data", DateTime.Now))) { VsDbConnection.deleteTable(table); } deleteDirFileOfTable(table, rootDir); } //à»ÅÕºà·ÕèºÇèÒźä»à·èҡѹÁÑé if ((numMainDbDelte != numFileDelete)) { if (VsDbDelete.setmsg != null) { VsDbDelete.setmsg("msg", "number dedeted don't match " + " numMainDbDelte:" + numMainDbDelte + " numFileDelete:" + numFileDelete); } } return(numMainDbDelte); }