Beispiel #1
0
 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;
 }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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();
                    }
                });
            }
        }
Beispiel #4
0
        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;
        }