/// <summary> /// /// Handles the Click event of the SaveButton control. /// After it calls saveDraft from Draft Accessor (stores in harddisk locally), /// It calls SaveDataToDb method which is responsibile for storing to database /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param> private async void SaveButton_Click(object sender, RoutedEventArgs e) { string textValue = ExtractText(); Task <Boolean> confirmLocalSave = Messages.DisplaySaveFileDialog("Select storage", "Where would you like to save the file?", "Local", "Online"); if (await confirmLocalSave) { // Store to local await DraftAccessor.SaveDraft(sender, e, draftEditor); // draftEditor.Document.SetText(Windows.UI.Text.TextSetOptions.None, "randAccStream"); } else { // TODO // Validate other possible inputs also make a validator class so it shouldn't be done here if (title.Text != "" && author.Text != "") { // Store to database SaveDataToDb(textValue); } else { Messages.DisplayDialogMessage("Empty text input", "Please complete all draft information!"); } } }
/// <summary> /// Updates the draft. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private async void UpdateData(object sender, RoutedEventArgs e) { string textValue = ExtractText(); var date = draftCalendarDatePicker.Date == null ? DateTime.Now : draftCalendarDatePicker.Date; DateTime DraftCreatedDate = date.Value.DateTime; newUpdatedDraft = new Draft() { DraftTitle = (title.Text == "") ? selectedDraft.DraftTitle : title.Text, DraftContent = textValue, DraftCategory = CategoryCombo.SelectedIndex == -1 ? selectedDraft.DraftCategory : (DraftCategories)CategoryCombo.SelectionBoxItem, DraftCreatedDate = (DraftCreatedDate == null) ? selectedDraft.DraftCreatedDate : DraftCreatedDate, DraftImageUrl = (image.Text == "")? selectedDraft.DraftImageUrl : image.Text }; selectedDraft = ((Draft)draftsList.SelectedItem); if (!await DraftAccessor.UpdateDataInDb(selectedDraft, newUpdatedDraft)) { Messages.DisplayDialogMessage("Saving interrupted", "The update is not saved, try again"); } else { Messages.DisplayDialogMessage("Updated", "Succesfully updated"); } }
private void DraftSelectionChanged(object sender, SelectionChangedEventArgs e) { selectedDraft = ((Draft)draftsList.SelectedItem); //Debug.WriteLine("Selected: {0}", selectedDraft.DraftId); if (selectedDraft != null) { DraftAccessor.OpenDraftFromDb(draftEditor, selectedDraft); } }
/// <summary> /// Deletes the draft. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private async void DeleteData(object sender, RoutedEventArgs e) { Task <Boolean> confirm = Messages.DisplayDeleteFileDialog("Delete Draft", "Confirm delete draft?"); if (await confirm) { selectedDraft = ((Draft)draftsList.SelectedItem); await DraftAccessor.DeleteDataInDb(selectedDraft); } }
/// <summary> /// Saves the data to database. /// </summary> /// <param name="value">The value.</param> private async void SaveDataToDb(string value) { string Dtitle = title.Text; try { var date = draftCalendarDatePicker.Date; DateTime DateAndtime = date.Value.DateTime; if (await DraftAccessor.SaveToDb(Dtitle, value, (DraftCategories)CategoryCombo.SelectionBoxItem, DateAndtime, image.Text)) { Messages.DisplayDialogMessage("Saved", "The file is saved"); } else { Messages.DisplayDialogMessage("Saving interrupted", "The update is not saved, try again"); } } catch (Exception e) { Debug.Write("error occured when accessing data-", e.Message); } }
/// <summary> /// Handles the Click event of the OpenButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private async void OpenButton_Click(object sender, RoutedEventArgs e) { await DraftAccessor.OpenDraft(sender, e, draftEditor); }