private async Task EventCancel() { try { var Confirmdialog = new MessageDialog("イベントを中止しますか?"); Confirmdialog.Commands.Add(new UICommand("OK")); Confirmdialog.Commands.Add(new UICommand("Cancel")); var result = await Confirmdialog.ShowAsync(); if (result.Label == "OK") { KumichoActivity selitem = (KumichoActivity)ActivityList.SelectedItem; Dictionary <string, string> methodparams = new Dictionary <string, string> { { "id", selitem.EventID } }; await App.MobileService.InvokeApiAsync("CancelEvent", HttpMethod.Get, methodparams); var dialog = new MessageDialog("イベント中止を通知しました。"); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } } catch (Exception) { } }
private async Task LoadAttendeeList(KumichoActivity selitem) { MobileServiceInvalidOperationException exception = null; try { attendeeslist = await attendees .Where(attendee => attendee.EventID == selitem.EventID) .ToCollectionAsync(); } catch (MobileServiceInvalidOperationException ex) { exception = ex; } if (exception != null) { await new MessageDialog(exception.Message, "Error loading items").ShowAsync(); } else { AttendeeList.ItemsSource = attendeeslist; } }
private async Task RegistAttendee() { string message = "参加を申込みますか?"; var confirmdialog = new MessageDialog(message); confirmdialog.Commands.Add(new UICommand("Yes")); confirmdialog.Commands.Add(new UICommand("No")); var result = await confirmdialog.ShowAsync(); if (result.Label == "Yes") { try { KumichoActivity selitem = (KumichoActivity)ActivityList.SelectedItem; attendeeslist = await attendees .Where(attendee => attendee.EventID == selitem.EventID && attendee.TwitterID == user.UserId) .ToCollectionAsync(); if (attendeeslist.Count == 0) { ActivityAttendees newregister = new ActivityAttendees { EventID = selitem.EventID, TwitterID = user.UserId, FirstName = FirstName.Text, FamilyName = FamilyName.Text, IsCanceled = false, IsAttended = false }; await attendees.InsertAsync(newregister); selitem.ActualAttendees++; await activityTable.UpdateAsync(selitem); message = string.Format("【{0}】への参加申込を受付けました。", selitem.Title); //参加申込済リストを読み込み通知のタグを更新 await LoadRegistedActivity(user.UserId); ClearRegisterForm(); } else { message = "このイベントは参加申込済またはキャンセル済です。"; ClearRegisterForm(); } } catch { message = "申込時にエラーが発生しました。時間をおいて再度申込してください。"; } var dialog = new MessageDialog(message); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } }
private async Task CancelRegistration() { var dialog = new MessageDialog("参加を取り消しますか?"); dialog.Commands.Add(new UICommand("OK")); dialog.Commands.Add(new UICommand("Cancel")); var result = await dialog.ShowAsync(); string message; if (result.Label == "OK") { try { KumichoActivity selitem = ActivityList.SelectedItem as KumichoActivity; attendeeslist = await attendees .Where(attendee => attendee.EventID == selitem.EventID && attendee.TwitterID == user.UserId) .ToCollectionAsync(); if (attendeeslist.Count != 0) { ActivityAttendees cancelregistration = attendeeslist[0]; cancelregistration.IsCanceled = true; await attendees.UpdateAsync(cancelregistration); selitem.ActualAttendees--; await activityTable.UpdateAsync(selitem); message = "参加を取り消しました。"; } else { message = "キャンセルできませんでした。"; } } catch (Exception ex) { message = "キャンセル時に問題が発生しました。時間をおいて再度実行してください。"; } dialog = new MessageDialog(message); dialog.Commands.Add(new UICommand("OK")); await dialog.ShowAsync(); } await RefreshActivities(); }
private async Task ShowActivities(SelectionChangedEventArgs e) { try { KumichoActivity selitem = (KumichoActivity)e.AddedItems[0]; SelectedDescription.Text = selitem.Description; if (ActivityList.SelectedIndex != -1) { if (IsLogin && (selitem.ActualAttendees < selitem.MaxAttendees)) { Regist.IsEnabled = true; } if (selitem.ActualAttendees >= selitem.MaxAttendees) { string basetext = SelectedDescription.Text; SelectedDescription.Text = "【満員につき締切】 " + basetext; } DescriptionFrame.Visibility = Visibility.Visible; } else { DescriptionFrame.Visibility = Visibility.Collapsed; if (IsLogin) { Regist.IsEnabled = false; CommitEvent.IsEnabled = false; CancelEvent.IsEnabled = false; } } if (ActivityList.SelectedIndex == -1 || IsLogin == false) { return; } CommitEvent.IsEnabled = (!(selitem.IsComitted)) && (selitem.ActualAttendees >= selitem.MinAttendees); CancelEvent.IsEnabled = true; await LoadAttendeeList(selitem); } catch (Exception) { } }