private void SaveAs(Reader.FileType type)
        {
            if (!ReadyForSave())
            {
                return;
            }

            SaveFileDialog dialog = FileHelper.BrowseForFileSaveDialog(FileHelper.FileFilters[type]);

            if (dialog.FileName == null)
            {
                return;
            }

            string[] serializedContents;
            switch (type)
            {
            case Reader.FileType.Json:
                serializedContents = Serializer.JsonSerialize(Items);
                break;

            case Reader.FileType.Plain:
                serializedContents = Serializer.PlainSerialize(Items);
                break;

            default:
                return;
            }

            File.WriteAllLines(dialog.FileName, serializedContents);
            _unsavedChanges = false;
        }
示例#2
0
        private static string[] AddTypeMetadata(this IEnumerable <string> serialized, Reader.FileType type)
        {
            List <string> list   = serialized.OfType <string>().ToList();
            string        prefix = "@@";

            switch (type)
            {
            case Reader.FileType.Json:
                prefix += "json";
                break;

            case Reader.FileType.Plain:
                prefix += "plain";
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }

            list.Insert(0, prefix);
            return(list.ToArray());
        }
示例#3
0
 private static string[] AddTypeMetadata(this string serialized, Reader.FileType type)
 {
     return(new string[] { serialized }.AddTypeMetadata(type));
 }