// 削除実行メソッド private async void User_Delete_Decide_Button_Click(object sender, RoutedEventArgs e) { Enable_Toggle(); var msgs = new ContentDialog(); msgs.Title = ui._user_name + " のデータを削除します。"; msgs.Content = "この操作は取り消しできません。"; msgs.PrimaryButtonText = "OK"; msgs.SecondaryButtonText = "Cancel"; var result = await msgs.ShowAsync(); if (result == ContentDialogResult.Primary) { // OKの場合 DatabaseAccess db = new DatabaseAccess(); if (db.Search_UserInformation(ui._mid)) { db.Delete_UserInformation(ui._mid); db.Insert_Operation_Log(StaticParam._mID, "ユーザー削除(mID = " + ui._mid + ", ユーザー名 = " + ui._user_name + ", 残高 = " + ui._balance + ", 権限 = " + ui._permission + ")"); CheckFunction.Message_Show(ui._user_name + " の削除に成功しました。", ""); Frame.Navigate(typeof(UserListEditScreen)); } else { CheckFunction.Message_Show("Error", "DB上に対象のmIDが存在しません。"); Enable_Toggle(); return; } } else if (result == ContentDialogResult.Secondary) { // Cancelの場合 Enable_Toggle(); return; } else { Enable_Toggle(); return; } Enable_Toggle(); return; }
private void Debug_Button_Click_1(object sender, RoutedEventArgs e) { Enable_Toggle(); // mIDが登録されているかのチェック DatabaseAccess db = new DatabaseAccess(); if (db.Search_UserInformation("01148E4778184D03")) { // タイマーの停止 this._timer.Stop(); // ユーザー情報の取得 UsersInformation user = db.Get_UserInformation("01148E4778184D03"); StaticParam._mID = user._mid; StaticParam._userName = user._user_name; StaticParam._balance = user._balance; StaticParam._permission = user._permission; // 遷移 Frame.Navigate(typeof(MenuScreen), user); } }
// タイマー用メソッド // カードが翳された場合、画面遷移を行う private async void Check_Card(object sender, object e) { try { string mID = await Getmid(); if (mID != "") { Enable_Toggle(); // mIDが登録されているかのチェック DatabaseAccess db = new DatabaseAccess(); if (db.Search_UserInformation(mID)) { // タイマーの停止 this._timer.Stop(); // ユーザー情報の取得 UsersInformation user = db.Get_UserInformation(mID); StaticParam._mID = user._mid; StaticParam._userName = user._user_name; StaticParam._balance = user._balance; StaticParam._permission = user._permission; // 遷移 Frame.Navigate(typeof(MenuScreen), user); } else { // ダイアログ表示中も裏でタイマーが走るようなので一旦止めています。 // CheckFunction.Show_Messageを使用していないのは非同期スレッドが立つらしく確認する前にタイマーがスタートしてしまう為 this._timer.Stop(); var msg = new ContentDialog(); msg.Title = "Error"; msg.Content = "登録されていないカードです。"; msg.PrimaryButtonText = "OK"; await msg.ShowAsync(); this._timer.Start(); } } }catch { } }
private void User_Edit_Decide_Button_Click(object sender, RoutedEventArgs e) { Enable_Toggle(); // 入力パラメータチェック if (mid_TEXT.Text == "") { // midが未入力です。 CheckFunction.Message_Show("Error", "midが未入力です。"); Enable_Toggle(); return; } else if (userName_TEXT.Text == "") { // 名前が未入力です。 CheckFunction.Message_Show("Error", "名前が未入力です。"); Enable_Toggle(); return; } else if (balance_TEXT.Text == "") { // 残高が未入力です。 CheckFunction.Message_Show("Error", "残高が未入力です。"); Enable_Toggle(); return; } else if (permisson_TEXT.SelectedIndex == 0) { // 権限が未選択です。 CheckFunction.Message_Show("Error", "権限が未選択です。"); Enable_Toggle(); return; } // フォーマットチェック if (!CheckFunction.mid_Integrity_Check(mid_TEXT.Text)) { CheckFunction.Message_Show("Error", "midのフォーマットが間違っています。もしくは未対応のカードです。"); Enable_Toggle(); return; } else if (!CheckFunction.balance_Integrity_Check(balance_TEXT.Text)) { CheckFunction.Message_Show("Error", "登録できる残高は0~99999の値です。"); Enable_Toggle(); return; } else if (!CheckFunction.user_name_Integrity_Check(userName_TEXT.Text)) { CheckFunction.Message_Show("Error", "登録できる名前は25文字以下です。"); Enable_Toggle(); return; } DatabaseAccess db = new DatabaseAccess(); if (db.Search_UserInformation(ui._mid)) { db.Delete_UserInformation(ui._mid); UsersInformation add_ui = new UsersInformation(mid_TEXT.Text, userName_TEXT.Text, int.Parse(balance_TEXT.Text), ((ComboBoxItem)permisson_TEXT.SelectedItem).Content as string); db.Insert_UserInformation(add_ui); db.Insert_Operation_Log(StaticParam._mID, "ユーザー情報更新(mID = " + add_ui._mid + ", ユーザー名 = " + ui._user_name + "→" + add_ui._user_name + ", 残高 = " + ui._balance + "→" + add_ui._balance + ", 権限 = " + ui._permission + "→" + add_ui._permission + ")"); CheckFunction.Message_Show(add_ui._user_name + " の情報を更新しました。", ""); Frame.Navigate(typeof(UserListEditScreen)); } else { CheckFunction.Message_Show("Error", "DB上に対象となるmIDが存在しません。"); Enable_Toggle(); return; } }
///////////////////////////////////////////////// mid読み取りここまで // 追加決定ボタン押下イベント private void User_Add_Decide_Button_Click(object sender, RoutedEventArgs e) { Enable_Toggle(); // 入力パラメータチェック if (mid_TEXT.Text == "") { // midが未入力です。 CheckFunction.Message_Show("Error", "midが未入力です。"); Enable_Toggle(); return; } else if (userName_TEXT.Text == "") { // 名前が未入力です。 CheckFunction.Message_Show("Error", "名前が未入力です。"); Enable_Toggle(); return; } else if (balance_TEXT.Text == "") { // 残高が未入力です。 CheckFunction.Message_Show("Error", "残高が未入力です。"); Enable_Toggle(); return; } else if (permisson_TEXT.SelectedIndex == 0) { // 権限が未選択です。 CheckFunction.Message_Show("Error", "権限が未選択です。"); Enable_Toggle(); return; } // フォーマットチェック if (!CheckFunction.mid_Integrity_Check(mid_TEXT.Text)) { CheckFunction.Message_Show("Error", "midのフォーマットが間違っています。もしくは未対応のカードです。"); Enable_Toggle(); return; } else if (!CheckFunction.balance_Integrity_Check(balance_TEXT.Text)) { CheckFunction.Message_Show("Error", "初期登録できる残高は0~99999の値です。"); Enable_Toggle(); return; } else if (!CheckFunction.user_name_Integrity_Check(userName_TEXT.Text)) { CheckFunction.Message_Show("Error", "登録できる名前は25文字以下です。"); Enable_Toggle(); return; } // 既登録チェック DatabaseAccess db = new DatabaseAccess(); if (db.Search_UserInformation(mid_TEXT.Text)) { // 既登録されています。 CheckFunction.Message_Show("Error", "このカードは既に登録されています。同じカードは登録できません。"); Enable_Toggle(); return; } // ユーザー登録 UsersInformation ui = new UsersInformation(mid_TEXT.Text, userName_TEXT.Text, int.Parse(balance_TEXT.Text), ((ComboBoxItem)permisson_TEXT.SelectedItem).Content as string); try{ db.Insert_UserInformation(ui); db.Insert_Operation_Log(StaticParam._mID, "ユーザー登録(mID = " + ui._mid + ", ユーザー名 = " + ui._user_name + ", 残高 = " + ui._balance + ", 権限 = " + ui._permission + ")"); }catch { // タイマーストップ _timer.Stop(); Frame.Navigate(typeof(OperationFailureScreen)); Enable_Toggle(); return; } // タイマーストップ _timer.Stop(); // 画面遷移 CheckFunction.Message_Show("ユーザーの追加に成功しました。", ""); Frame.Navigate(typeof(UserListEditScreen)); }
// タイマー用メソッド private async void Check_Card(object sender, object e) { string mID = ""; // タイマーの停止 this._timer.Stop(); // カードを離した際のGetmid()で例外が走るみたいなので応急措置です try { mID = await Getmid(); }catch { this._timer.Start(); return; } try { if (mID != "") { // mIDが登録されていた場合 // mIDが登録されているかのチェック DatabaseAccess db = new DatabaseAccess(); if (db.Search_UserInformation(mID)) { // 事前処理 // 決済額のリセット total_price = 0; // カード情報表示 UsersInformation uis = db.Get_UserInformation(mID); USER_INFO.Text = uis._user_name + " 様 残高 " + uis._balance + "円"; // 入力内容チェック if (Items.Count <= 0) { this._timer.Start(); return; } foreach (Item checkItem in Items) { if (checkItem._num <= 0) { var msg = new ContentDialog(); msg.Title = "Error"; msg.Content = checkItem._itemName + "の個数が0になっています。"; msg.PrimaryButtonText = "OK"; await msg.ShowAsync(); JANCODE_TEXT.Focus(FocusState.Keyboard); this._timer.Start(); return; } if (db.isStocked_Item(checkItem._janCode, checkItem._num)) { } else { var msg = new ContentDialog(); msg.Title = "Error"; msg.Content = checkItem._itemName + "の在庫数が不足しています。"; msg.PrimaryButtonText = "OK"; await msg.ShowAsync(); JANCODE_TEXT.Focus(FocusState.Keyboard); this._timer.Start(); return; } } // 入力内容チェックここまで foreach (Item it in Items) { total_price += it._price * it._num; } // 決済可否チェック if (db.Check_Payment(mID, total_price)) { db.Exec_Payment(mID, total_price); foreach (Item item in Items) { db.Insert_Purchase_Log(mID, item._janCode, item._num, item._price); db.Reduce_Item(item._janCode, item._num); } UsersInformation ui = db.Get_UserInformation(mID); // ここで音を出してもいいかも SE.Play(); USER_INFO.Text = uis._user_name + " 様 残高 " + (uis._balance - total_price) + "円 決済成功"; var msg = new ContentDialog(); msg.FontSize = 74; msg.Title = "決済に成功しました。"; msg.Content = "残高 " + ui._balance + "円"; msg.PrimaryButtonText = "OK"; //await msg.ShowAsync(); Items.Clear(); JANCODE_TEXT.Focus(FocusState.Keyboard); this._timer.Start(); return; } else { var msg = new ContentDialog(); msg.Title = "Error"; msg.Content = "残高が不足しています。"; msg.PrimaryButtonText = "OK"; await msg.ShowAsync(); JANCODE_TEXT.Focus(FocusState.Keyboard); this._timer.Start(); return; } // 決済可否チェックここまで } else { // ダイアログ表示中も裏でタイマーが走るようなので一旦止めています。 // CheckFunction.Show_Messageを使用していないのは非同期スレッドが立つらしく確認する前にタイマーがスタートしてしまう為 var msg = new ContentDialog(); msg.Title = "Error"; msg.Content = "登録されていないカードです。"; msg.PrimaryButtonText = "OK"; await msg.ShowAsync(); JANCODE_TEXT.Focus(FocusState.Keyboard); this._timer.Start(); } } else { this._timer.Start(); USER_INFO.Text = ""; } } catch (Exception es) { var msg = new ContentDialog(); msg.Title = "Error"; msg.Content = "不明なエラーです。管理者に問い合わせて下さい。\n" + es; msg.PrimaryButtonText = "OK"; await msg.ShowAsync(); JANCODE_TEXT.Focus(FocusState.Keyboard); this._timer.Start(); } }