Пример #1
0
 private void ClearWorkspace()
 {
     if (this.workspace != null)
     {
         this.workspace.PropertyChanged -= this.workspace_PropertyChanged;
         this.workspace = null;
     }
 }
Пример #2
0
 private async Task LoadNoteAsync(Guid id)
 {
     using (var dataAccessProxy = this.CreateDataAccessProxy())
     {
         this.currentNote = await dataAccessProxy.GetNoteAsync(id);
     }
     this.ClearWorkspace();
     this.workspace = new Workspace(this.currentNote);
     this.workspace.PropertyChanged += this.workspace_PropertyChanged;
     this.lblTitle.Text = this.workspace.Title;
     var datePublished = this.workspace.DatePublished;
     this.lblDatePublished.Text = datePublished.ToLocalTime()
         .ToString("F", new CultureInfo(this.settings.General.Language));
     this.htmlEditor.Html = this.workspace.Content;
     this.htmlEditor.Enabled = true;
     this.tbtnSave.Enabled = false;
     this.mnuSave.Enabled = false;
     this.mnuPrint.Enabled = true;
     if (this.mnuSaveAs != null)
     {
         this.mnuSaveAs.Enabled = true;
     }
 }
Пример #3
0
        public async Task ImportNote(Note note, bool rethrow = false)
        {
            Type[] exceptionTypes = null;
            if (rethrow)
            {
                exceptionTypes = new[] {typeof (NoteAlreadyExistsException)};
            }
            await SafeExecutionContext.ExecuteAsync(this, async () =>
            {
                var existingNoteTitles = this.ExistingNotesTitle;
                if (existingNoteTitles.Contains(note.Title))
                {
                    throw new NoteAlreadyExistsException(Resources.TitleExists);
                }

                var canceled = await this.SaveWorkspaceAsync();
                if (!canceled)
                {
                    this.ClearWorkspace();
                    note.Content = string.IsNullOrEmpty(note.Content) ? string.Empty : crypto.Encrypt(note.Content);
                    this.workspace = new Workspace(note);
                    this.workspace.PropertyChanged += this.workspace_PropertyChanged;
                    await this.SaveWorkspaceSlientlyAsync();
                    await this.LoadNotesAsync();
                }
            },
                () =>
                {
                    this.slblStatus.Text = Resources.Importing;
                    this.sp.Visible = true;
                },
                () => this.sp.Visible = false, exceptionTypes);
        }