Exemple #1
0
        // テンキーここまで

        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            foreach (Item it in cItems)
            {
                Items.Add(it);
            }
            JANCODE_TEXT.Focus(FocusState.Keyboard);
        }
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     foreach (Item it in cItems)
     {
         Items.Add(it);
     }
     Use_Price.Text = StaticParam._usePrice.ToString();
     JANCODE_TEXT.Focus(FocusState.Keyboard);
 }
Exemple #3
0
 // 最後に登録したJANコードレコードの商品名に文字列を加えるメソッド
 private void ADD_Num(string num)
 {
     try
     {
         Items.First(x => x._janCode == last_jan)._num = int.Parse(Items.First(x => x._janCode == last_jan)._num.ToString() == "0"? num.ToString() : Items.First(x => x._janCode == last_jan)._num.ToString() + num.ToString());
     }
     catch
     {
         System.Diagnostics.Debug.WriteLine("対象レコードが見つかりません");
     }finally{
         JANCODE_TEXT.Focus(FocusState.Keyboard);
     }
 }
 private void Candidate_Clear_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Items.First(x => x._janCode == last_jan)._itemName = "";
     }
     catch
     {
         System.Diagnostics.Debug.WriteLine("対象レコードが見つかりません");
     }finally{
         JANCODE_TEXT.Focus(FocusState.Keyboard);
     }
 }
Exemple #5
0
        // 選択セル変更イベント
        private void DataGrid_CurrentCellChanged(object sender, EventArgs e)
        {
            DataGrid dg = (DataGrid)sender;

            if (dg.SelectedItem == null)
            {
                return;
            }
            Item item = dg.SelectedItem as Item;

            last_jan        = item._janCode;
            dg.SelectedItem = null;
            JANCODE_TEXT.Focus(FocusState.Keyboard);
        }
Exemple #6
0
        // 各レコードの削除ボタンで読み込まれるメソッド
        private void Delete_Click(object sender, RoutedEventArgs e)
        {
            // イベントを発生させたボタンの取得
            Button b = (Button)sender;
            // DataGridの取得
            DataGrid dg = FindName("dataGrid") as DataGrid;

            try
            {
                // Itemsのうち、削除ボタンのtagに付与したJANコードと一致するレコードを検索し、Itemsから削除する
                Items.Remove(Items.First(x => x._janCode == (string)b.Tag));
            }
            catch
            {
                System.Diagnostics.Debug.WriteLine("対象レコードが見つかりません");
            }finally{
                JANCODE_TEXT.Focus(FocusState.Keyboard);
            }
        }
Exemple #7
0
 private void BS_Button_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (Items.First(x => x._janCode == last_jan)._num.ToString().Length > 1)
         {
             Items.First(x => x._janCode == last_jan)._num = int.Parse(Items.First(x => x._janCode == last_jan)._num.ToString().Substring(0, Items.First(x => x._janCode == last_jan)._num.ToString().Length - 1));
         }
         else
         {
             Items.First(x => x._janCode == last_jan)._num = 0;
         }
     }
     catch
     {
         System.Diagnostics.Debug.WriteLine("対象レコードが見つかりません");
     }finally{
         JANCODE_TEXT.Focus(FocusState.Keyboard);
     }
 }
 // 最後に登録したJANコードレコードの商品名に文字列を加えるメソッド
 private void ADD_itemName(string itemName)
 {
     try
     {
         if (Items.First(x => x._janCode == last_jan)._itemName == "")
         {
             Items.First(x => x._janCode == last_jan)._itemName += itemName;
         }
         else
         {
             Items.First(x => x._janCode == last_jan)._itemName += " " + itemName;
         }
     }
     catch
     {
         System.Diagnostics.Debug.WriteLine("対象レコードが見つかりません");
     }finally{
         JANCODE_TEXT.Focus(FocusState.Keyboard);
     }
 }
Exemple #9
0
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     JANCODE_TEXT.Focus(FocusState.Keyboard);
 }
Exemple #10
0
        // タイマー用メソッド
        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();
            }
        }
Exemple #11
0
 private void DataGrid_Tapped(object sender, TappedRoutedEventArgs e)
 {
     JANCODE_TEXT.Focus(FocusState.Keyboard);
 }