Esempio n. 1
0
        // == I/O ==

        public void ReadDatabaseFile(DatabaseJsonType jsonType)
        {
            if (jsonType != DatabaseJsonType.None)
            {
                AddTitles(DatabaseJsonIO.ReadTitlesFromJsonFile(jsonType.GetFilePath()), jsonType);
                titleSets[jsonType].Modified = false;
            }
        }
        public static void WriteTitlesToJsonFile(ICollection <EshopTitle> titles, DatabaseJsonType jsonType)
        {
            List <EshopTitle> titleList = titles.ToList();

            titleList.Sort();

            JArray json     = new JArray(titleList.Select(t => JObject.FromObject(t)).ToArray());
            string filePath = jsonType.GetFilePath();

            DialogResult shouldCreateBackup = MessageBox.Show(String.Format("Do you want to create a backup of {0} ?", filePath), "Question", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

            if (shouldCreateBackup == DialogResult.Cancel)
            {
                return;
            }
            else if (shouldCreateBackup == DialogResult.Yes)
            {
                string backupFilePath = jsonType.GetBackupFilePath();
                if (File.Exists(backupFilePath))
                {
                    if (MessageBox.Show("The backup file already exists.\nDo you want to overwrite it?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        File.Delete(backupFilePath);
                    }
                    else
                    {
                        return;
                    }
                }
                File.Move(filePath, backupFilePath);
            }

            string jsonString = JsonArrayToString(json);

            File.WriteAllText(filePath, jsonString);

            Console.WriteLine("Wrote {0,5} titles to database file {1}", titleList.Count, filePath);
        }
Esempio n. 3
0
 public static string GetBackupFilePath(this DatabaseJsonType jsonType)
 {
     return(jsonType.GetFilePath() + ".bak");
 }