Пример #1
0
        static void Main(string[] args)
        {
            serializer   = new JsonSerializerService();
            readerWriter = new ReaderWriterService();

            Student bob = new Student()
            {
                FirstName = "Bob",
                LastName  = "Bobsky",
                Age       = 37,
                Pets      = new string[] { "Dog1", "Dog2", "Dog3", "Cat1" }
            };

            string jsonString = serializer.SerializeStudent(bob);

            readerWriter.WriteFile(filePath, jsonString);

            string  jsonFromFile = readerWriter.ReadFile(filePath);
            Student student      = serializer.DeserializeStudent(jsonFromFile);

            #region NewtonsoftJson

            string  newtonsoftJasonString = JsonConvert.SerializeObject(student);
            Student newtonsoftStudent     = JsonConvert.DeserializeObject <Student>(jsonFromFile);

            #endregion
        }
Пример #2
0
        public override async Task <UnsavedChangesResult> PromptForUnsavedChanges()
        {
            var result = UnsavedChangesResult.Discarded;

            if (this.IsDirty)
            {
                string filename = Drawing.Settings.FileName ?? "(Untitled)";
                var    dialog   = MessageBox.Show(string.Format("Save changes to '{0}'?", filename),
                                                  "Unsaved changes",
                                                  MessageBoxButton.YesNoCancel);
                switch (dialog)
                {
                case MessageBoxResult.Yes:
                    var fileName = Drawing.Settings.FileName;
                    if (fileName == null)
                    {
                        fileName = await FileSystemService.GetFileNameFromUserForSave();
                    }
                    if (fileName == null)
                    {
                        return(UnsavedChangesResult.Cancel);
                    }

                    var stream = await FileSystemService.GetStreamForWriting(fileName);

                    if (await ReaderWriterService.TryWriteDrawing(fileName, Drawing, ActiveViewPort, stream))
                    {
                        result = UnsavedChangesResult.Saved;
                    }
                    else
                    {
                        result = UnsavedChangesResult.Cancel;
                    }
                    break;

                case MessageBoxResult.No:
                    result = UnsavedChangesResult.Discarded;
                    break;

                case MessageBoxResult.Cancel:
                    result = UnsavedChangesResult.Cancel;
                    break;
                }
            }
            else
            {
                result = UnsavedChangesResult.Saved;
            }

            return(result);
        }