public static Competition Load(string fileName = DEFAULT_FILENAME) { string file = DataManager.getAbsolutePath(fileName); Competition t; if (File.Exists(file)) { t = (new JavaScriptSerializer()).Deserialize<Competition>(File.ReadAllText(file)); } else { t = new Competition(); } return t; }
public static void Main() { _messageProvider = new BasicMessageProvider();//enable basic message provider //open settings _settings = Settings.Load(); _competition = Competition.Load(); //start wpf application thread var application = new App(); application.Exit += Application_Exit; application.InitializeComponent(); application.Run(); }
public static void unarchiveCompetition(Panel parent) { string archiveDirectory = DataManager.getAbsolutePath(DataManager.Settings.ArchiveDirectory); if (!Directory.Exists(archiveDirectory)) { Directory.CreateDirectory(archiveDirectory); } Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); dlg.InitialDirectory = archiveDirectory; dlg.DefaultExt = ".comp"; dlg.Filter = "Competition File (*.comp)|*.comp"; Nullable<bool> result = dlg.ShowDialog(); if (result == true) { DialogBox.showOptionBox(parent, "Do you want to archive the current competition? If you do not archive the current competition and all of its data/images it will be deleted.", "Archive The Current Competition?", "Delete", "Archive", delegate (DialogBox.DialogResult res) { bool done = false; if (res == DialogBox.DialogResult.MainOption) { if (!archiveCompetition()) { done = true; } } if(!done) { FileInfo saveFile = new FileInfo(dlg.FileName); string fileName = saveFile.Name.Substring(0, saveFile.Name.IndexOf(saveFile.Extension)); string tempFolder = saveFile.Directory + @"\" + saveFile.Name.Substring(0, saveFile.Name.IndexOf(saveFile.Extension)); if (Directory.Exists(tempFolder)) { Directory.Delete(tempFolder, true); } Directory.CreateDirectory(tempFolder); ZipFile.ExtractToDirectory(saveFile.FullName, tempFolder); string imagesDirectory = DataManager.getAbsolutePath(DataManager.Settings.ImageDirectory); if (Directory.Exists(imagesDirectory)) { Directory.Delete(imagesDirectory, true); } if (File.Exists(getAbsolutePath(Competition.DefaltFileName))) { File.Delete(getAbsolutePath(Competition.DefaltFileName)); } Directory.Move(tempFolder + @"\" + DataManager.Settings.ImageDirectory, imagesDirectory);//move images folder to normal folder File.Move(tempFolder + @"\" + Competition.DefaltFileName, getAbsolutePath(Competition.DefaltFileName));//move images folder to normal folder Directory.Delete(tempFolder, true); File.Delete(saveFile.FullName); _competition = Competition.Load(); _competition.Name = fileName; triggerCompetitionChanged(); } }); } }
public static bool archiveCompetition() { string archiveDirectory = DataManager.getAbsolutePath(DataManager.Settings.ArchiveDirectory); if (!Directory.Exists(archiveDirectory)) { Directory.CreateDirectory(archiveDirectory); } Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.InitialDirectory = archiveDirectory; dlg.FileName = Competition.Name; dlg.DefaultExt = ".comp"; dlg.Filter = "Competition File (*.comp)|*.comp"; Nullable<bool> result = dlg.ShowDialog(); if (result == true) { FileInfo saveFile = new FileInfo(dlg.FileName); string fileName = saveFile.Name.Substring(0, saveFile.Name.IndexOf(saveFile.Extension)); Competition oldComp = _competition; oldComp.Name = fileName; oldComp.Save(); _competition = new Competition(); triggerCompetitionChanged(); string tempFolder = saveFile.Directory + @"\" + fileName; if (Directory.Exists(tempFolder)) { Directory.Delete(tempFolder, true); } Directory.CreateDirectory(tempFolder); string imagesDirectory = DataManager.getAbsolutePath(DataManager.Settings.ImageDirectory); Directory.Move(imagesDirectory, tempFolder + @"\" + DataManager.Settings.ImageDirectory);//move images folder to zip folder File.Move(getAbsolutePath(Competition.DefaltFileName), tempFolder + @"\" + Competition.DefaltFileName);//move competition file to zip folder //string startPath = @"c:\example\start"; //string zipPath = @"c:\example\result.zip"; //string extractPath = @"c:\example\extract"; ZipFile.CreateFromDirectory(tempFolder, saveFile.FullName); Directory.Delete(tempFolder, true); _competition = Competition.Load(); triggerCompetitionChanged(); //ZipFile.ExtractToDirectory(zipPath, extractPath); } return result == true; }