private async void Product_Delete_Button_Click(object sender, RoutedEventArgs e) { Enable_Toggle(); var msgs = new ContentDialog(); msgs.Title = item._itemName + " のデータを削除します。"; 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_Item(item._janCode)) { db.Delete_Item(item._janCode); db.Insert_Operation_Log(StaticParam._mID, "商品削除(JANコード = " + item._janCode + ", 商品名 = " + item._itemName + ", 価格 = " + item._price + ", 在庫数 = " + item._num + ")"); CheckFunction.Message_Show(item._itemName + " の削除に成功しました。", ""); Frame.Navigate(typeof(ProductListEditScreen)); } else { CheckFunction.Message_Show("Error", "DB上に対象のJANコードが存在しません。"); } } else if (result == ContentDialogResult.Secondary) { // Cancelの場合 Enable_Toggle(); return; } else { Enable_Toggle(); return; } Enable_Toggle(); return; }
// 登録確定イベント private void Registration_Decide_Button_Click(object sender, RoutedEventArgs e) { Enable_Toggle(); try { DatabaseAccess db = new DatabaseAccess(); // 1件ずつ処理 foreach (Item regItem in Items) { if (db.Search_Item(regItem._janCode)) { // DB上に存在している場合 // →既登録されている在庫数を今回追加するデータに加えて上書き // →流れとしては登録データを削除、在庫数他を更新して再登録 Item oldItem = db.Get_Item(regItem._janCode); regItem._num += oldItem._num; db.Delete_Item(regItem._janCode); db.Insert_Item(regItem); db.Insert_Operation_Log(StaticParam._mID, "商品在庫更新(JANコード = " + regItem._janCode + ", 商品名 = " + oldItem._itemName + "→" + regItem._itemName + ", 価格 = " + oldItem._price + "→" + regItem._price + ", 在庫数 = " + oldItem._num + "→" + regItem._num + ")"); } else { // DB上に存在していない場合 // →普通に登録 db.Insert_Item(regItem); db.Insert_Operation_Log(StaticParam._mID, "商品登録(JANコード = " + regItem._janCode + ", 商品名 = " + regItem._itemName + ", 価格 = " + regItem._price + ", 在庫数 = " + regItem._num + ")"); } } db.Insert_Charge_Log(StaticParam._mID, (StaticParam._usePrice * -1)); CheckFunction.Message_Show("商品の登録に成功しました。", ""); StaticParam._usePrice = 0; Frame.Navigate(typeof(MenuScreen)); } catch { CheckFunction.Message_Show("Error", "DBの登録に失敗しました。"); Enable_Toggle(); } }
private void Edit_Decide_Button_Click(object sender, RoutedEventArgs e) { // 入力パラメータチェック if (janCode_TEXT.Text == "") { // JANコードが未入力です。 CheckFunction.Message_Show("Error", "JANコードが未入力です。"); return; } else if (itemName_TEXT.Text == "") { // 商品名が未入力です。 CheckFunction.Message_Show("Error", "商品名が未入力です。"); return; } else if (price_TEXT.Text == "") { // 価格が未入力です。 CheckFunction.Message_Show("Error", "価格が未入力です。"); return; } else if (num_TEXT.Text == "") { // 在庫が未選択です。 CheckFunction.Message_Show("Error", "在庫が未入力です。"); return; } else if (category_TEXT.SelectedIndex == 0) { // カテゴリが未選択です。 CheckFunction.Message_Show("Error", "カテゴリが未選択です。"); return; } // フォーマットチェック if (!CheckFunction.JANCODE_Integrity_Check(janCode_TEXT.Text)) { CheckFunction.Message_Show("Error", "JANコードのフォーマットが間違っています。なんでこのエラー出たの?"); return; } else if (!CheckFunction.itemName_Integrity_Check(itemName_TEXT.Text)) { CheckFunction.Message_Show("Error", "登録できる商品名は50文字以下です。"); return; } else if (!CheckFunction.price_Integrity_Check(price_TEXT.Text)) { CheckFunction.Message_Show("Error", "登録できる価格は0~5000の値です。"); return; } else if (!CheckFunction.num_Integrity_Check(num_TEXT.Text)) { CheckFunction.Message_Show("Error", "登録できる在庫数は0~200の値です。"); return; } Enable_Toggle(); DatabaseAccess db = new DatabaseAccess(); if (db.Search_Item(item._janCode)) { db.Delete_Item(item._janCode); Item add_item = new Item(janCode_TEXT.Text, itemName_TEXT.Text, category_TEXT.SelectedIndex, int.Parse(price_TEXT.Text), int.Parse(num_TEXT.Text)); db.Insert_Item(add_item); db.Insert_Operation_Log(StaticParam._mID, "商品情報更新(JANコード = " + add_item._janCode + ", 商品名 = " + item._itemName + "→" + add_item._itemName + ", 価格 = " + item._price + "→" + add_item._price + ", 在庫数 = " + item._num + "→" + add_item._num + ")"); CheckFunction.Message_Show(add_item._itemName + " の情報を更新しました。", ""); Frame.Navigate(typeof(ProductListEditScreen)); } else { CheckFunction.Message_Show("Error", "DB上に対象となるJANコードが存在しません。"); Enable_Toggle(); return; } }