public async Task <BbqEventViewModel> EditEventAsync(BbqEventViewModel input) { bool isNew = false; var model = new BbqEventViewModel(); if (input == null) { isNew = true; } else { model.Load(input); } var dialog = new Dialogs.EventEditorDialog(); dialog.Event = model; var result = await dialog.ShowAsync(); if (result == ContentDialogResult.Primary) { model = dialog.Event; var entity = isNew ? new BbqEvent() : await this.dataProvider.GetEventByIdAsync(model.Id); entity.Load(model); if (isNew) { await this.dataProvider.InsertEventAsync(entity); } else { await this.dataProvider.UpdateEventAsync(entity); } return(model); } return(null); }
public async Task <BbqEventViewModel> SelectEventAsync() { var selectDialog = new Dialogs.SelectEventDialog(); BbqEventViewModel selectedEvent = null; do { var result = await selectDialog.ShowAsync(); if (result == ContentDialogResult.Primary && selectDialog.SelectedEvent != null) { selectedEvent = new BbqEventViewModel(); selectedEvent.Load(selectDialog.SelectedEvent); } else if (result == ContentDialogResult.Secondary) { selectedEvent = await this.eventEditor.EditEventAsync(null); } }while (selectedEvent == null); return(selectedEvent); }