コード例 #1
0
ファイル: frmCamMst.cs プロジェクト: ymgw0867/nhbr_ocr
        ///----------------------------------------------------------------------------
        /// <summary>
        ///     キャンペーンヘッダとキャンペーン明細データを新規に登録する </summary>
        /// <param name="dt">
        ///     ヘッダID</param>
        ///----------------------------------------------------------------------------
        private void dataInsert(int hID)
        {
            try
            {
                // キャンペーンヘッダ
                NHBRDataSet.キャンペーンヘッダRow r = dts.キャンペーンヘッダ.NewキャンペーンヘッダRow();
                r.ID = hID;
                r.称  = txtName.Text;

                if (dateTimePicker1.Checked)
                {
                    r.開始年月日 = DateTime.Parse(dateTimePicker1.Value.ToShortDateString());
                }
                else
                {
                    r.開始年月日 = staDate;
                }

                if (dateTimePicker2.Checked)
                {
                    r.終了年月日 = DateTime.Parse(dateTimePicker2.Value.ToShortDateString());
                }
                else
                {
                    r.終了年月日 = endDate;
                }

                r.更新年月日 = DateTime.Now;

                dts.キャンペーンヘッダ.AddキャンペーンヘッダRow(r);

                // キャンペーン明細
                for (int i = 0; i < gcMultiRow1.RowCount; i++)
                {
                    // 商品またはプレゼントが登録されている場合、登録可とした : 2017/11/19
                    if (gcMultiRow1[i, "txtSCode"].Value != null || gcMultiRow1[i, "txtPCode"].Value != null)
                    {
                        NHBRDataSet.キャンペーン明細Row m = dts.キャンペーン明細.Newキャンペーン明細Row();
                        m.ヘッダID      = hID;
                        m.商品コード      = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtSCode"].Value));
                        m.商品数量       = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtSSu"].Value));
                        m.プレゼント商品コード = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtPCode"].Value));
                        m.プレゼント数量    = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtPSu"].Value));
                        m.更新年月日      = DateTime.Now;

                        dts.キャンペーン明細.Addキャンペーン明細Row(m);
                    }
                }

                // データベースアップデート
                adpMn.UpdateAll(dts);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + Environment.NewLine + "キャンペーンマスターの登録に失敗しました");
            }
            finally
            {
            }
        }
コード例 #2
0
ファイル: frmCamMst.cs プロジェクト: ymgw0867/nhbr_ocr
        ///--------------------------------------------------------------
        /// <summary>
        ///     キャンペーンデータを削除する </summary>
        /// <param name="sID">
        ///     レコードID</param>
        /// <returns>
        ///     true:削除成功、false:削除失敗</returns>
        ///--------------------------------------------------------------
        private void dataDelete(int sID)
        {
            try
            {
                // 削除ヘッダデータ取得(エラー回避のためDataRowState.Deleted と DataRowState.Detachedは除外して抽出する)
                var d = dts.キャンペーンヘッダ.Where(a => a.RowState != DataRowState.Deleted && a.RowState != DataRowState.Detached && a.ID == sID);

                // foreach用の配列を作成する
                var list = d.ToList();

                // 削除
                foreach (var it in list)
                {
                    NHBRDataSet.キャンペーンヘッダRow dl = dts.キャンペーンヘッダ.FindByID(it.ID);
                    dl.Delete();
                }


                // 削除明細データ取得(エラー回避のためDataRowState.Deleted と DataRowState.Detachedは除外して抽出する)
                var md = dts.キャンペーン明細.Where(a => a.RowState != DataRowState.Deleted && a.RowState != DataRowState.Detached && a.ヘッダID == sID);

                // foreach用の配列を作成する
                var list2 = md.ToList();

                // 削除
                foreach (var it in list2)
                {
                    NHBRDataSet.キャンペーン明細Row dl = dts.キャンペーン明細.FindByID(it.ID);
                    dl.Delete();
                }

                adpMn.UpdateAll(dts);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString() + Environment.NewLine + "キャンペーンマスターの削除に失敗しました", "削除失敗", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
コード例 #3
0
ファイル: frmCamMst.cs プロジェクト: ymgw0867/nhbr_ocr
        ///----------------------------------------------------------------
        /// <summary>
        ///     休日データを更新する </summary>
        /// <param name="dt">
        ///     対象となる日付</param>
        ///----------------------------------------------------------------
        private void dataUpdate(int sID)
        {
            try
            {
                if (dts.キャンペーンヘッダ.Any(a => a.ID == sID))
                {
                    // キャンペーンヘッダデータ
                    var s = dts.キャンペーンヘッダ.Single(a => a.ID == sID);
                    s.称 = txtName.Text;

                    if (dateTimePicker1.Checked)
                    {
                        s.開始年月日 = DateTime.Parse(dateTimePicker1.Value.ToShortDateString());
                    }
                    else
                    {
                        s.開始年月日 = staDate;
                    }

                    if (dateTimePicker2.Checked)
                    {
                        s.終了年月日 = DateTime.Parse(dateTimePicker2.Value.ToShortDateString());
                    }
                    else
                    {
                        s.終了年月日 = endDate;
                    }

                    s.更新年月日 = DateTime.Now;

                    // キャンペーン明細データ
                    for (int i = 0; i < gcMultiRow1.RowCount; i++)
                    {
                        // 更新明細
                        if (gcMultiRow1[i, "lblID"].Value != null)
                        {
                            if (dts.キャンペーン明細.Any(a => a.ID == Utility.StrtoInt(gcMultiRow1[i, "lblID"].Value.ToString())))
                            {
                                var sss = dts.キャンペーン明細.Single(a => a.ID == Utility.StrtoInt(gcMultiRow1[i, "lblID"].Value.ToString()));
                                sss.商品コード      = Utility.StrtoInt(gcMultiRow1[i, "txtSCode"].Value.ToString());
                                sss.商品数量       = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtSSu"].Value));
                                sss.プレゼント商品コード = Utility.StrtoInt(gcMultiRow1[i, "txtPCode"].Value.ToString());
                                sss.プレゼント数量    = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtPSu"].Value));
                            }
                        }
                        else
                        {
                            // 新規登録明細
                            if (gcMultiRow1[i, "txtSCode"].Value != null)
                            {
                                NHBRDataSet.キャンペーン明細Row m = dts.キャンペーン明細.Newキャンペーン明細Row();
                                m.ヘッダID      = sID;
                                m.商品コード      = Utility.StrtoInt(gcMultiRow1[i, "txtSCode"].Value.ToString());
                                m.商品数量       = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtSSu"].Value));
                                m.プレゼント商品コード = Utility.StrtoInt(gcMultiRow1[i, "txtPCode"].Value.ToString());
                                m.プレゼント数量    = Utility.StrtoInt(Utility.NulltoStr(gcMultiRow1[i, "txtPSu"].Value));
                                m.更新年月日      = DateTime.Now;

                                dts.キャンペーン明細.Addキャンペーン明細Row(m);
                            }
                        }
                    }

                    // データベースアップデート
                    adpMn.UpdateAll(dts);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + Environment.NewLine + "キャンペーンマスターの更新に失敗しました");
            }
        }