Beispiel #1
0
        /// <summary>
        /// データ受信処理
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case T05_GetData:
                    // 伝票検索または新規伝票の場合
                    DataSet ds = data as DataSet;
                    if (ds != null)
                    {
                        SetTblData(ds);
                        ChangeKeyItemChangeable(false);
                        this.txt入金日.Focus();         // No.245 Add
                    }
                    else
                    {
                        MessageBox.Show("指定の伝票番号は登録されていません。", "伝票未登録", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                        this.txt伝票番号.Focus();
                    }
                    break;

                // No.408 Add Start
                case T05_GetTokInfo:
                    // 手形情報のチェック
                    if (CheckTegata(tbl))
                    {
                        // 入金情報の登録
                        Update();
                    }

                    break;
                // No.408 Add End

                case T05_Update:
                    MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information);
                    // コントロール初期化
                    ScreenClear();
                    break;

                case T05_Delete:

                    MessageBox.Show(AppConst.SUCCESS_DELETE, "削除完了", MessageBoxButton.OK, MessageBoxImage.Information);
                    // コントロール初期化
                    ScreenClear();
                    break;

                case T05_GetYoteiData:
                    if (tbl.Rows.Count > 0)
                    {
                        SeikyuTable = tbl;
                    }
                    else
                    {
                        SeikyuTable = null;
                    }
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// データ受信処理
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            base.OnReceivedResponseData(message);

            try
            {
                this.ErrorMessage = string.Empty;

                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case M01_TOK_GetData:
                    #region 取引先検索
                    if (tbl == null || tbl.Rows.Count == 0)
                    {
                        // 新規入力
                        RowM01TOK           = tbl.NewRow();
                        RowM01TOK["取引先コード"] = this.取引先コード;
                        RowM01TOK["枝番"]     = this.枝番;
                        RowM01TOK["取引区分"]   = (int)TradingCategory.Customer;

                        tbl.Rows.Add(RowM01TOK);
                        NotifyPropertyChanged("RowM01TOK");
                        this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                    }
                    else
                    {
                        // 変更入力
                        DataRow row = tbl.Rows[0];

                        if (row["削除日時"] == null)
                        {
                            string msg = "既に削除されているデータです。";
                            this.ErrorMessage = msg;
                            MessageBox.Show(msg);
                            ScreenClear();
                            return;
                        }

                        this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;
                    }

                    RowM01TOK = tbl.Rows[0];
                    ChangeKeyItemChangeable(false);
                    SetFocusToTopControl();
                    ResetAllValidation();

                    // 取引区分によるコントロール制御
                    TORI_KBN_TargetUpdated(this.M01_TORI_KBN, null);

                    #endregion
                    break;

                case M01_TOK_Update:
                    MessageBox.Show("登録が完了しました。");
                    ScreenClear();
                    break;

                case M01_TOK_Delete:
                    MessageBox.Show("削除が完了しました。");
                    ScreenClear();
                    break;

                case GET_UcZip:
                    // 住所情報取得
                    ShowAddresList(tbl);
                    break;
                }
            }
            catch (Exception ex)
            {
                RowM01TOK = null;
                appLog.Error("受信データ処理例外発生しました。", ex);
                this.ErrorMessage = "システムエラーが発生しました。サポートにお問い合わせください。";
            }
        }
Beispiel #3
0
        /// <summary>
        /// データ受信処理
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case UpdateData_StockCheck:
                    // No-222 Add Start
                    // 在庫数チェック結果受信
                    Dictionary <string, string> updateList = data as Dictionary <string, string>;
                    string zaiUpdateMessage = AppConst.CONFIRM_UPDATE;
                    var    zaiMBImage       = MessageBoxImage.Question;

                    foreach (DataRow row in SearchDetail.Select("", "", DataViewRowState.CurrentRows))
                    {
                        if (updateList.Count > 0)
                        {
                            zaiMBImage       = MessageBoxImage.Warning;
                            zaiUpdateMessage = "在庫がマイナスになる品番が存在しますが、\r\n登録してもよろしいでしょうか?";
                            break;
                        }
                    }

                    if (MessageBox.Show(zaiUpdateMessage,
                                        "登録確認",
                                        MessageBoxButton.YesNo,
                                        zaiMBImage,
                                        MessageBoxResult.Yes) == MessageBoxResult.No)
                    {
                        return;
                    }

                    // No-222 Add End

                    Update();

                    // 致命的なエラーの場合、以降の処理を中止する
                    if (blnCloseFlg == false)
                    {
                        return;
                    }

                    // 警告がない場合、当該画面を終了する
                    if (blnWarningFlg == true)
                    {
                        // 処理続行確認メッセージを表示する
                        var yesno = MessageBox.Show("警告がありますが処理を続行しますか?", "確認", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                        if (yesno == MessageBoxResult.No)
                        {
                            return;
                        }
                        CloseDataEdited();
                    }
                    else
                    {
                        CloseDataEdited();
                    }

                    break;

                case SearchTableToShin:
                    // セット品で検索された場合
                    SetHin = tbl.Copy();
                    break;

                case MasterCode_MyProduct:
                    #region 自社品番手入力時
                    DataTable ctbl = data as DataTable;

                    int columnIdx = gridDtb.ActiveColumnIndex;
                    int rIdx      = gridDtb.ActiveRowIndex;

                    // フォーカス移動後の項目が異なる場合または編集行が異なる場合は処理しない。
                    if ((columnIdx != (int)GridColumnsMapping.色コード) || _編集行 != rIdx)
                    {
                        return;
                    }

                    if (ctbl == null || ctbl.Rows.Count == 0)
                    {
                        // 対象データなしの場合
                        gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, 0);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.数量, 0m);
                        gridDtb.SetCellValue((int)GridColumnsMapping.単位, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, (int)商品分類.その他);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色コード, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色名称, string.Empty);

                        // フォーカス位置の設定
                        gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品番);                   // No.425 Add
                    }
                    else if (tbl.Rows.Count > 1)
                    {
                        int cIdx   = gcInnerSpreadGrid.ActiveColumnIndex;
                        var colVal = gridDtb.GetCellValueToString((int)GridColumnsMapping.自社品番);

                        int code = int.Parse(SearchHeader["外注先コード"].ToString());
                        int eda  = int.Parse(SearchHeader["外注先枝番"].ToString());

                        // 自社品番の場合
                        SCHM09_MYHIN myhin = new SCHM09_MYHIN(code, eda);
                        myhin.TwinTextBox          = new UcLabelTwinTextBox();
                        myhin.txtCode.Text         = colVal;
                        myhin.txtCode.IsEnabled    = false;
                        myhin.TwinTextBox.LinkItem = 2;

                        if (myhin.ShowDialog(this) == true)
                        {
                            gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, myhin.SelectedRowData["品番コード"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, myhin.SelectedRowData["自社品番"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, myhin.SelectedRowData["自社品名"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.数量, 1m);
                            gridDtb.SetCellValue((int)GridColumnsMapping.単位, myhin.SelectedRowData["単位"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, myhin.SelectedRowData["商品分類"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.色コード, myhin.SelectedRowData["自社色"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.色名称, myhin.SelectedRowData["自社色名"]);

                            // フォーカス位置の設定
                            gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名);                 // No.425 Add
                        }
                        else
                        {
                            // フォーカス位置の設定
                            gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品番);                 // No.425 Add
                        }
                    }
                    else
                    {
                        // 対象データありの場合
                        DataRow drow = ctbl.Rows[0];
                        gcInnerSpreadGrid.BeginEdit();
                        gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, drow["品番コード"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, drow["自社品番"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, drow["自社品名"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.数量, 1m);
                        gridDtb.SetCellValue((int)GridColumnsMapping.単位, drow["単位"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, drow["商品分類"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色コード, drow["自社色"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色名称, drow["色名称"]);

                        // 自社品番のセルをロック
                        // 数量以外はロック
                        gridDtb.SetCellLocked((int)GridColumnsMapping.品番コード, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.自社品番, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.自社品名, false);                   // No.391 Add
                        gridDtb.SetCellLocked((int)GridColumnsMapping.単位, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.商品分類, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.色コード, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.色名称, true);

                        // フォーカス位置の設定
                        gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名);                     // No.425 Add
                    }

                    InnerDetail.Rows[rIdx].EndEdit();

                    #endregion

                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
            }
        }
Beispiel #4
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                if (data is DataTable)
                {
                    DataTable tbl = data as DataTable;

                    switch (message.GetMessageName())
                    {
                    //担当者データ取得
                    case TargetTableNm:
                        if (tbl.Rows.Count > 0)
                        {
                            if (!string.IsNullOrEmpty(tbl.Rows[0]["削除日時"].ToString()))
                            {
                                //this.ErrorMessage = "既に削除されているデータです。";
                                //MessageBox.Show("既に削除されているデータです。");
                                //return;

                                MessageBoxResult result = MessageBox.Show("既に削除されているデータです。\nこのコードを復元しますか?",
                                                                          "質問",
                                                                          MessageBoxButton.YesNo,
                                                                          MessageBoxImage.Exclamation,
                                                                          MessageBoxResult.No);

                                if (result == MessageBoxResult.No)
                                {
                                    return;
                                }
                            }

                            SetTblData(tbl);
                        }

                        if (string.IsNullOrEmpty(担当者名))
                        {
                            //新規ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                        }
                        else
                        {
                            //編集ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;
                        }

                        //キーをfalse
                        ChangeKeyItemChangeable(false);
                        SetFocusToTopControl();
                        break;

                    case UpdateTable:
                    case DeleteTable:
                        ScreenClear();
                        break;

                    case M70_JIS:     // 自社マスタ参照
                        M70_JIS_SET(tbl);
                        break;

                    case M74_KGRP:     // 権限マスタ参照
                        M74_KGRP_SET(tbl);
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    switch (message.GetMessageName())
                    {
                    case GetNextID:
                        if (data is int)
                        {
                            int iNextCode = (int)data;
                            担当者ID = iNextCode.ToString();
                            ChangeKeyItemChangeable(false);
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                            SetFocusToTopControl();
                        }
                        break;

                    //更新処理受信
                    case UpdateTable:

                        if ((int)data == -1)
                        {
                            MessageBoxResult result = MessageBox.Show("担当者ID: " + 担当者ID + "は既に使われています。\n自動採番して登録しますか?",
                                                                      "質問",
                                                                      MessageBoxButton.YesNo,
                                                                      MessageBoxImage.Exclamation,
                                                                      MessageBoxResult.No);

                            if (result == MessageBoxResult.No)
                            {
                                return;
                            }

                            base.SendRequest(new CommunicationObject(MessageType.UpdateData, UpdateTable, new object[] { 担当者ID
                                                                                                                         , 担当者名
                                                                                                                         , かな読み
                                                                                                                         , パスワード
                                                                                                                         , グループ権限ID
                                                                                                                         , 自社コード
                                                                                                                         , 人ナンバー
                                                                                                                         , ccfg.ユーザID
                                                                                                                         , this.MaintenanceMode == AppConst.MAINTENANCEMODE_ADD ? true : false
                                                                                                                         , true }));
                            break;
                        }

                        if (data is int && (int)data == -9)
                        {
                            MessageBox.Show("グループ権限IDが'0'の人が一人は必要です。");
                            break;
                        }

                        MessageBox.Show(AppConst.COMPLETE_UPDATE);
                        //コントロール初期化
                        ScreenClear();
                        break;

                    //削除処理受信
                    case DeleteTable:
                        if (data is int && (int)data == -9)
                        {
                            MessageBox.Show("グループ権限IDが'0'の人が一人は必要です。");
                            break;
                        }
                        MessageBox.Show(AppConst.COMPLETE_DELETE);
                        //コントロール初期化
                        ScreenClear();
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #5
0
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                switch (message.GetMessageName())
                {
                case T03_GetData:
                    // 伝票検索または新規伝票の場合
                    DataSet ds = data as DataSet;
                    if (ds.Tables.Count == 0)
                    {
                        this.c伝票番号.Focus();
                        base.ErrorMessage = "指定された伝票番号は存在しませんでした。";
                        return;
                    }
                    else
                    {
                        SetTblData(ds);
                        ChangeKeyItemChangeable(false);
                        c返品日.Focus();         // No.245 Add
                    }
                    break;

                case T03_Update:
                    MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information);
                    // コントロール初期化
                    ScreenClear();
                    break;

                case T03_Delete:
                    MessageBox.Show(AppConst.SUCCESS_DELETE, "削除完了", MessageBoxButton.OK, MessageBoxImage.Information);
                    // コントロール初期化
                    ScreenClear();
                    break;

                // No-222 Add Start
                case UpdateData_StockCheck:
                    // 在庫数チェック結果受信
                    Dictionary <int, string> updateList = data as Dictionary <int, string>;
                    string zaiUpdateMessage             = AppConst.CONFIRM_UPDATE;
                    var    zaiMBImage = MessageBoxImage.Question;

                    foreach (DataRow row in SearchDetail.Select("", "", DataViewRowState.CurrentRows))
                    {
                        int rowNum = row.Field <int>("行番号");

                        if (updateList.ContainsKey(rowNum) == true)
                        {
                            zaiMBImage       = MessageBoxImage.Warning;
                            zaiUpdateMessage = "在庫がマイナスになる品番が存在しますが、\r\n登録してもよろしいでしょうか?";
                            break;
                        }
                    }

                    if (MessageBox.Show(zaiUpdateMessage,
                                        "登録確認",
                                        MessageBoxButton.YesNo,
                                        zaiMBImage,
                                        MessageBoxResult.Yes) == MessageBoxResult.No)
                    {
                        return;
                    }

                    Update();
                    break;
                // No-222 Add End

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            var       data = message.GetResultData();
            DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

            switch (message.GetMessageName())
            {
            case TabelNm:
                //Gridのバインド変数に代入
                SearchResult = tbl;

                DataRow r = null;
                //かな読みの条件で抽出
                if (!string.IsNullOrEmpty(かな読み))
                {
                    DataTable dt = SearchResult.Clone();

                    foreach (DataRow dtRow in SearchResult.Select("かな読み LIKE '" + かな読み + "%'"))
                    {
                        r = dt.NewRow();
                        for (int n = 0; n < dtRow.ItemArray.Length; n++)
                        {
                            r[n] = dtRow[n];
                        }
                        dt.Rows.Add(r);
                    }
                    SearchResult = dt;
                }
                SearchGrid.SelectedIndex = 0;

                break;

            case TabelNm1:
                //Gridのバインド変数に代入
                SearchResult = tbl;

                DataRow r1 = null;
                //かな読みの条件で抽出
                if (!string.IsNullOrEmpty(かな読み))
                {
                    DataTable dt = SearchResult.Clone();

                    foreach (DataRow dtRow in SearchResult.Select("かな読み LIKE '%" + かな読み + "%'"))
                    {
                        r1 = dt.NewRow();
                        for (int n = 0; n < dtRow.ItemArray.Length; n++)
                        {
                            r1[n] = dtRow[n];
                        }
                        dt.Rows.Add(r1);
                    }
                    SearchResult = dt;
                }
                SearchGrid.SelectedIndex = 0;

                break;

            case TabelNm2:
                //Gridのバインド変数に代入
                SearchResult = tbl;

                DataRow r2 = null;
                //かな読みの条件で抽出
                if (!string.IsNullOrEmpty(かな読み))
                {
                    DataTable dt = SearchResult.Clone();

                    foreach (DataRow dtRow in SearchResult.Select("かな読み LIKE '%" + かな読み + "%'"))
                    {
                        r2 = dt.NewRow();
                        for (int n = 0; n < dtRow.ItemArray.Length; n++)
                        {
                            r2[n] = dtRow[n];
                        }
                        dt.Rows.Add(r2);
                    }
                    SearchResult = dt;
                }
                SearchGrid.SelectedIndex = 0;

                break;

            case TabelNm3:
                //Gridのバインド変数に代入
                SearchResult = tbl;

                DataRow r3 = null;
                //かな読みの条件で抽出
                if (!string.IsNullOrEmpty(かな読み))
                {
                    DataTable dt = SearchResult.Clone();

                    foreach (DataRow dtRow in SearchResult.Select("かな読み LIKE '%" + かな読み + "%'"))
                    {
                        r3 = dt.NewRow();
                        for (int n = 0; n < dtRow.ItemArray.Length; n++)
                        {
                            r3[n] = dtRow[n];
                        }
                        dt.Rows.Add(r3);
                    }
                    SearchResult = dt;
                }
                SearchGrid.SelectedIndex = 0;

                break;

            default:
                break;
            }
        }
Beispiel #7
0
        /// <summary>
        /// 取得データの正常受信時のイベント
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            var       data = message.GetResultData();
            DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

            switch (message.GetMessageName())
            {
            //ログイン
            case LicenseLoginCommonDB:
                int    p顧客コード  = Convert.ToInt32(tbl.Rows[0]["顧客コード"]);
                string pユーザーID = tbl.Rows[0]["ユーザーID"].ToString();
                string pパスワード  = tbl.Rows[0]["パスワード"].ToString();

                // ユーザーIDとパスワードが一致しかつエラーではない場合
                // またはテスト用としてログイン中エラーを出さないユーザーの場合
                if (
                    (Utility.Encrypt(ユーザーID) == pユーザーID && Utility.Encrypt(パスワード) == pパスワード && p顧客コード >= 0) ||
                    (AppConst.CommonDB_DebugUser != string.Empty && Utility.Encrypt(ユーザーID) == AppConst.CommonDB_DebugUser)
                    )
                {
                    try
                    {
                        var apcmn = AppCommon.GetAppCommonData(this);
                        // 取得した情報をセットする。
                        apcmn.CommonDB_CustomerCd         = tbl.Rows[0]["顧客コード"] == DBNull.Value ? (int?)null : Convert.ToInt32(tbl.Rows[0]["顧客コード"]);
                        apcmn.CommonDB_UserId             = tbl.Rows[0]["ユーザーID"].ToString();
                        apcmn.CommonDB_LoginFlg           = tbl.Rows[0]["ログインフラグ"] == DBNull.Value ? (int?)null : Convert.ToInt32(tbl.Rows[0]["ログインフラグ"]);
                        apcmn.CommonDB_LastAccessDateTime = tbl.Rows[0]["アクセス時間"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(tbl.Rows[0]["アクセス時間"]);
                        apcmn.UserDB_DBServer             = tbl.Rows[0]["DB接続先"].ToString();
                        apcmn.UserDB_DBName      = tbl.Rows[0]["ユーザーDB"].ToString();
                        apcmn.UserDB_DBId        = tbl.Rows[0]["DBログインID"].ToString();
                        apcmn.UserDB_DBPass      = tbl.Rows[0]["DBパスワード"].ToString();
                        apcmn.CommonDB_StartDate = tbl.Rows[0]["開始日"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(tbl.Rows[0]["開始日"]);
                        apcmn.CommonDB_LimitDate = tbl.Rows[0]["有効期限"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(tbl.Rows[0]["有効期限"]);
                        apcmn.CommonDB_RegDate   = tbl.Rows[0]["登録日"] == DBNull.Value ? (DateTime?)null : Convert.ToDateTime(tbl.Rows[0]["登録日"]);
                        IsLoginCompleted         = true;
                        this.Close();
                        return;
                    }
                    catch (Exception ex)
                    {
                        //例外エラー表示
                        MessageBox.Show(ex.Message);
                    }
                }
                else if (Utility.Encrypt(ユーザーID) == pユーザーID && Utility.Encrypt(パスワード) == pパスワード && p顧客コード == -1)
                {
                    //【※ログイン失敗※】
                    SetFocusToTopControl();
                    this.ErrorMessage = "このユーザーはログイン中です。";
                }
                else if (Utility.Encrypt(ユーザーID) == pユーザーID && Utility.Encrypt(パスワード) == pパスワード && p顧客コード == -2)
                {
                    //【※ログイン失敗※】
                    SetFocusToTopControl();
                    this.ErrorMessage = "このユーザーはライセンスの有効期限が切れています。";
                }
                else if (p顧客コード == -90001)
                {
                    // サーバー接続エラー
                    SetFocusToTopControl();
                    this.ErrorMessage = "認証サーバーに接続できませんでした。";
                }
                else
                {
                    //【※ログイン失敗※】
                    SetFocusToTopControl();
                    this.ErrorMessage = "ユーザーIDまたはパスワードが違います。";
                }
                break;
            }
            this.Cursor = null;
        }
Beispiel #8
0
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;

                base.SetFreeForInput();

                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case GET_LIST_SEARCH:
                case SET_CALCULATE:
                    if (tbl == null)
                    {
                        this.sgSearchResult.ItemsSource = null;
                        this.ErrorMessage = "システムエラーが発生しました。サポートにお問い合わせください。";
                        return;
                    }
                    else
                    {
                        if (tbl.Rows.Count > 0)
                        {
                            SearchList = tbl;
                            sgSearchResult.Visibility = System.Windows.Visibility.Visible;

                            if (message.GetMessageName() == GET_LIST_SEARCH)
                            {
                                AjustRatio.Focus();
                                _searchMode = SearchMode.見込計算;
                            }
                            else if (message.GetMessageName() == SET_CALCULATE)
                            {
                                MessageBox.Show("調整比率計算処理が完了しました。\r\n計算結果を確定する場合は調整確定をおこなってください。",
                                                "調整計算終了",
                                                MessageBoxButton.OK,
                                                MessageBoxImage.Information);

                                Confirm.Visibility = System.Windows.Visibility.Visible;
                                _searchMode        = SearchMode.調整計算;
                            }
                        }
                        else
                        {
                            SearchList        = null;
                            this.ErrorMessage = "指定された条件の請求データはありません。";
                        }
                    }
                    break;

                case SET_CONFIRM:
                    if (MessageBox.Show(
                            "集計が終了しました。\r\n終了しても宜しいでしょうか?",
                            "確認",
                            MessageBoxButton.YesNo,
                            MessageBoxImage.Question) == MessageBoxResult.Yes)
                    {
                        this.Close();
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                base.SetFreeForInput();
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #9
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                if (data is DataTable)
                {
                    DataTable tbl = data as DataTable;


                    switch (message.GetMessageName())
                    {
                    //検索時処理
                    case TargetTableNm:
                        if (tbl.Rows.Count > 0)
                        {
                            if (!string.IsNullOrEmpty(tbl.Rows[0]["削除日付"].ToString()))
                            {
                                //this.ErrorMessage = "既に削除されているデータです。";
                                //MessageBox.Show("既に削除されているデータです。");
                                //ScreenClear();
                                //return;

                                MessageBoxResult result = MessageBox.Show("既に削除されているデータです。\nこのコードを復元しますか?",
                                                                          "質問",
                                                                          MessageBoxButton.YesNo,
                                                                          MessageBoxImage.Exclamation,
                                                                          MessageBoxResult.No);

                                if (result == MessageBoxResult.No)
                                {
                                    ScreenClear();
                                    return;
                                }
                            }
                            SetTblData(tbl);
                        }

                        //リボンの状態表示
                        if (string.IsNullOrEmpty(商品名))
                        {
                            //新規ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                            txt類似ID.Visibility   = Visibility.Visible;
                        }
                        else
                        {
                            //編集ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;
                            txt類似ID.Visibility   = Visibility.Collapsed;
                        }

                        //キーをfalse
                        ChangeKeyItemChangeable(false);
                        SetFocusToTopControl();
                        break;

                    //検索時処理
                    case RTargetTableNm:
                        類似ID = null;
                        if (tbl.Rows.Count > 0)
                        {
                            if (!string.IsNullOrEmpty(tbl.Rows[0]["削除日付"].ToString()))
                            {
                                this.ErrorMessage = "既に削除されているデータです。";
                                MessageBox.Show("既に削除されているデータです。");
                                ScreenClear();
                                return;
                            }
                            RSetTblData(tbl);
                        }
                        break;

                    //更新時処理
                    case TargetTableNmUpdate:
                        ScreenClear();
                        break;

                    //削除時処理
                    case TargetTableNmDelete:
                        ScreenClear();
                        break;


                    default:
                        break;
                    }
                }
                else
                {
                    switch (message.GetMessageName())
                    {
                    case GetNextID:
                        if (data is int)
                        {
                            int iNextCode = (int)data;
                            商品ID = iNextCode.ToString();
                            ChangeKeyItemChangeable(false);
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                            txt類似ID.Visibility   = Visibility.Visible;
                            SetFocusToTopControl();
                        }
                        break;

                    case TargetTableNmUpdate:

                        if ((int)data == -1)
                        {
                            MessageBoxResult result = MessageBox.Show("商品ID: " + 商品ID + "は既に使われています。\n自動採番して登録しますか?",
                                                                      "質問",
                                                                      MessageBoxButton.YesNo,
                                                                      MessageBoxImage.Exclamation,
                                                                      MessageBoxResult.No);

                            if (result == MessageBoxResult.No)
                            {
                                return;
                            }

                            int i商品ID = AppCommon.IntParse(商品ID);

                            base.SendRequest(new CommunicationObject(MessageType.UpdateData, TargetTableNmUpdate, new object[] { i商品ID
                                                                                                                                 , 商品名
                                                                                                                                 , 商品カナ
                                                                                                                                 , 商品単位
                                                                                                                                 , 商品重量
                                                                                                                                 , 商品才数
                                                                                                                                 , this.MaintenanceMode == AppConst.MAINTENANCEMODE_ADD ? true : false
                                                                                                                                 , true }));

                            break;
                        }

                        ScreenClear();
                        break;

                    case TargetTableNmDelete:
                        ScreenClear();
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #10
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;

                base.SetFreeForInput();
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;
                switch (message.GetMessageName())
                {
                case LOAD_SRY22010:
                    if (tbl.Rows.Count > 0)
                    {
                        燃費目標データ一覧 = tbl;
                        this.sp燃費目標データ.ItemsSource = this.燃費目標データ一覧.DefaultView;
                        Nengetu();
                    }
                    else
                    {
                        this.ErrorMessage          = "データがありません。";
                        燃費目標データ一覧                  = null;
                        this.sp燃費目標データ.ItemsSource = null;
                        return;
                    }
                    break;

                case SEARCH_SRY22010:
                    if (tbl.Rows.Count > 0)
                    {
                        燃費目標データ一覧 = tbl;
                        this.sp燃費目標データ.ItemsSource = this.燃費目標データ一覧.DefaultView;
                        Nengetu();
                    }
                    else
                    {
                        this.ErrorMessage          = "データがありません。";
                        燃費目標データ一覧                  = null;
                        this.sp燃費目標データ.ItemsSource = null;
                        return;
                    }
                    break;

                case OUTPUT_SRY22010_M87_CNTL:
                    if (tbl.Rows.Count > 0)
                    {
                        開始月 = tbl.Rows[0]["G期首月日"].ToString().Length == 3 ? tbl.Rows[0]["G期首月日"].ToString().Substring(0, 1)
                                : tbl.Rows[0]["G期首月日"].ToString().Length == 4 ? tbl.Rows[0]["G期首月日"].ToString().Substring(0, 2) : "4";
                        終了月 = tbl.Rows[0]["G期末月日"].ToString().Length == 3 ? tbl.Rows[0]["G期末月日"].ToString().Substring(0, 1)
                                : tbl.Rows[0]["G期末月日"].ToString().Length == 4 ? tbl.Rows[0]["G期末月日"].ToString().Substring(0, 2) : "3";
                    }
                    break;

                case NINSERT_SRY22010:
                    MessageBox.Show("更新が完了しました。");
                    ChangeKeyItemChangeable(true);
                    SetFocusToTopControl();
                    this.MaintenanceMode = string.Empty;
                    base.SendRequest(new CommunicationObject(MessageType.RequestData, LOAD_SRY22010, new object[] { }));
                    break;

                case OUTPUT_SRY22010:
                    DispPreviw(tbl);
                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            var       data = message.GetResultData();
            DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

            switch (message.GetMessageName())
            {
            case TabelNmList:
                // データが取得できなかった場合は処理しない
                if (tbl == null)
                {
                    return;
                }

                DataRow[] drList = tbl.Select("原価 IS NOT NULL");
                DataView  dv;
                if (drList.Count() > 0 && string.IsNullOrEmpty(this.txtCode.Text))
                {
                    DataTable tblShiire = tbl.Clone();

                    foreach (DataRow dr in drList)
                    {
                        tblShiire.ImportRow(dr);
                    }
                    dv = convertTableDisplayList(tblShiire).AsDataView();
                }
                else
                {
                    dv = convertTableDisplayList(tbl).AsDataView();
                }
                // 絞り込みフィルタ生成
                StringBuilder sb = new StringBuilder();

                // 品番
                if (!string.IsNullOrEmpty(this.txtCode.Text))
                {
                    //sb.AppendFormat("( 品番コード = {0} OR 自社品番 LIKE '%{1}%' )", this.txtCode.Text, this.txtCode.Text);
                    sb.AppendFormat("( 自社品番 LIKE '%{0}%' )", this.txtCode.Text);
                }

                // 品名
                if (!string.IsNullOrEmpty(this.txtName.Text))
                {
                    sb.AppendFormat("{0} {1} LIKE '%{2}%'", sb.Length == 0 ? string.Empty : " AND", COLUMN_MY_NAME, this.txtName.Text);
                }

                // ブランド
                if (!string.IsNullOrEmpty(this.txtBrand.Text1))
                {
                    sb.AppendFormat("{0} {1} = '{2}'", sb.Length == 0 ? string.Empty : " AND", COLUMN_BRAND, this.txtBrand.Text1);
                }

                // シリーズ
                if (!string.IsNullOrEmpty(this.txtSeries.Text1))
                {
                    sb.AppendFormat("{0} {1} = '{2}'", sb.Length == 0 ? string.Empty : " AND", COLUMN_SERIES, this.txtSeries.Text1);
                }

                // 商品形態分類
                sb.Append(getItemClassFilterStrings(sb.Length > 0));

                // フィルタリング設定
                dv.RowFilter = sb.ToString();

                switch (OrderColumn.SelectedIndex)
                {
                case 0:             // 品番
                default:
                    dv.Sort = COLUMN_CODE;
                    break;

                case 1:             // 自社品番
                    dv.Sort = COLUMN_MY_CODE;
                    break;

                case 2:             // 自社品名
                    dv.Sort = COLUMN_MY_NAME;
                    break;
                }

                SearchResult             = dv.ToTable();
                SearchGrid.SelectedIndex = 0;
                break;

            default:
                break;
            }
        }
Beispiel #12
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                DataTable tbl = data as DataTable;

                switch (message.GetMessageName())
                {
                case M09_HIN_getDataList:
                    datatable_M09_HIN_All = tbl;
                    break;

                case TargetTableNm:
                    SetTblData(tbl);

                    // 編集ステータス表示
                    this.MaintenanceMode = (tbl.Rows.Count > 0) ? AppConst.MAINTENANCEMODE_EDIT : AppConst.MAINTENANCEMODE_ADD;

                    SetFocusToTopControl();

                    // REMARKS:行バインドではLinkItemの大分類が設定されないので
                    //         再適用させる
                    string midium = M09_HIN_SearchRow["中分類"].ToString();
                    txtMediumClassCode.Text1 = string.Empty;
                    txtMediumClassCode.Text1 = midium;

                    // No-92 Add Start
                    bool blnCopyEnabled = true;
                    if (this.MaintenanceMode == AppConst.MAINTENANCEMODE_EDIT)
                    {
                        blnCopyEnabled = false;
                    }
                    this.Copy_MyProductCode.IsEnabled = blnCopyEnabled;
                    this.Copy_ColorCode.IsEnabled     = blnCopyEnabled;
                    this.CopyButton.IsEnabled         = blnCopyEnabled;
                    // No-92 Add End

                    break;

                case UpdateTable:
                    if (LogicalDel.Text.Equals("9"))
                    {
                        MessageBox.Show("削除処理が完了しました。", "確認", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        MessageBox.Show("登録処理が完了しました。", "確認", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    ScreenClear();
                    break;

                case GetNextID:
                    SetTblData(tbl);
                    品番コード = M09_HIN_SearchRow["品番コード"].ToString();

                    ChangeKeyItemChangeable(false);
                    this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                    SetFocusToTopControl();
                    break;

                // No-92 Add Start
                case M09_HIN_getDataMyProduct:
                    SetTblDataCopy(tbl);


                    this.ResetAllValidation();

                    // REMARKS:行バインドではLinkItemの大分類が設定されないので
                    //         再適用させる
                    string midiumWk = M09_HIN_SearchRow["中分類"].ToString();
                    txtMediumClassCode.Text1 = string.Empty;
                    txtMediumClassCode.Text1 = midiumWk;
                    break;

                // No-92 Add End
                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #13
0
        /// <summary>
        /// データ受信処理
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case T05_GetData:
                    // 伝票検索または新規伝票の場合
                    DataSet ds = data as DataSet;
                    if (ds != null)
                    {
                        SetTblData(ds);

                        // No-156-1 Add Start
                        bool blnEnabled = true;
                        if (this.MaintenanceMode == AppConst.MAINTENANCEMODE_EDIT)
                        {
                            blnEnabled = false;
                        }
                        setDispHeaderEnabled(blnEnabled);
                        // No-156-1 Add Add End
                    }
                    else
                    {
                        MessageBox.Show("指定の伝票番号は登録されていません。", "伝票未登録", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                        this.txt伝票番号.Focus();
                    }
                    break;

                // No-222 Add Start
                case UpdateData_StockCheck:
                    // 在庫数チェック結果受信
                    Dictionary <int, string> updateList = data as Dictionary <int, string>;
                    string zaiUpdateMessage             = AppConst.CONFIRM_UPDATE;
                    var    zaiMBImage = MessageBoxImage.Question;

                    foreach (DataRow row in SearchDetail.Select("", "", DataViewRowState.CurrentRows))
                    {
                        int rowNum = row.Field <int>("行番号");

                        if (updateList.ContainsKey(rowNum) == true)
                        {
                            zaiMBImage       = MessageBoxImage.Warning;
                            zaiUpdateMessage = "在庫がマイナスになる品番が存在しますが、\r\n登録してもよろしいでしょうか?";
                            break;
                        }
                    }

                    if (MessageBox.Show(zaiUpdateMessage,
                                        "登録確認",
                                        MessageBoxButton.YesNo,
                                        zaiMBImage,
                                        MessageBoxResult.Yes) == MessageBoxResult.No)
                    {
                        return;
                    }

                    Update();
                    break;
                // No-222 Add End

                case T05_Update:
                    MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information);
                    // コントロール初期化
                    ScreenClear();
                    break;

                case T05_Delete:
                    MessageBox.Show(AppConst.SUCCESS_DELETE, "削除完了", MessageBoxButton.OK, MessageBoxImage.Information);
                    // コントロール初期化
                    ScreenClear();
                    break;

                case MasterCode_MyProduct:
                    #region 自社品番 手入力時
                    DataTable ctbl      = data as DataTable;
                    int       rIdx      = gcSpreadGrid.ActiveRowIndex;
                    int       columnIdx = gcSpreadGrid.ActiveColumnIndex;

                    // フォーカス移動後の項目が異なる場合または編集行が異なる場合は処理しない。
                    if ((columnIdx != (int)GridColumnsMapping.自社品名) || _編集行 != rIdx)
                    {
                        return;
                    }

                    if (ctbl == null || ctbl.Rows.Count == 0)
                    {
                        // 対象データなしの場合
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = 0;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value  = string.Empty;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value  = string.Empty;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value    = 0m;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = 0;       // [軽減税率対象]0:対象外
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value  = 3;       // [商品分類]3:その他

                        // 20190624CB-S

                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = string.Empty;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value  = string.Empty;

                        // 20190624CB-E
                    }
                    else if (ctbl.Rows.Count > 1)
                    {
                        // 対象データが複数ある場合
                        int cIdx   = gcSpreadGrid.ActiveColumnIndex;
                        var colVal = gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value;

                        SCHM09_MYHIN myhin = new SCHM09_MYHIN();
                        myhin.txtCode.Text         = colVal == null ? string.Empty : colVal.ToString();
                        myhin.txtCode.IsEnabled    = false;
                        myhin.TwinTextBox          = new UcLabelTwinTextBox();
                        myhin.TwinTextBox.LinkItem = 1;
                        if (myhin.ShowDialog(this) == true)
                        {
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = myhin.SelectedRowData["品番コード"].ToString();
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value  = myhin.SelectedRowData["自社品番"].ToString();
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value  = myhin.SelectedRowData["自社品名"].ToString();
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value    = 1m;
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = myhin.SelectedRowData["消費税区分"];
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value  = myhin.SelectedRowData["商品分類"];

                            // 20190624CB-S

                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = myhin.SelectedRowData["自社色"];
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value  = myhin.SelectedRowData["自社色名"];

                            // 20190624CB-E

                            // 自社品番のセルをロック
                            gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Locked = true;
                        }
                    }
                    else
                    {
                        // 対象データありの場合
                        DataRow drow = ctbl.Rows[0];
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Value = drow["品番コード"].ToString();
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Value  = drow["自社品番"].ToString();
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品名].Value  = drow["自社品名"].ToString();
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.数量].Value    = 1m;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Value = drow["消費税区分"];
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Value  = drow["商品分類"];

                        //20190624CB-S
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Value = drow["自社色"];
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Value  = drow["自社色名"];
                        //20190624CB-E

                        // 自社品番のセルをロック
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.自社品番].Locked = true;

                        // 20190704CB-S
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.品番コード].Locked = true;
                        //gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.賞味期限].Locked = true;         No-206 Mod
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.消費税区分].Locked = true;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.商品分類].Locked  = true;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色コード].Locked  = true;
                        gcSpreadGrid.Cells[rIdx, (int)GridColumnsMapping.色名称].Locked   = true;
                        // 20190704CB-E
                    }

                    #endregion

                    break;

                default:
                    break;
                }
            }
            catch
            {
            }
        }
Beispiel #14
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>

        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                DataTable tbl = (data is DataTable) ? (data as DataTable) : null;

                if (data is DataTable)
                {
                    switch (message.GetMessageName())
                    {
                    //データ取得
                    case TargetTableNm:
                        if (!(乗務員ID > 0))
                        {
                            iChkFlg = 9;
                            break;
                        }

                        if (tbl.Rows.Count > 0)
                        {
                            //編集ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;

                            //rowS01Data = tbl;
                            SetTblData(tbl);

                            int?年月;

                            年月 = ((DateTime)処理年月).Year * 100 + ((DateTime)処理年月).Month;
                            年月 = AppCommon.IntParse(年月.ToString());

                            //マスタ表示
                            base.SendRequest(new CommunicationObject(MessageType.RequestData, S11TableNm_Hendo, new object[] { 乗務員ID, 年月 }));
                            //マスタ表示
                            base.SendRequest(new CommunicationObject(MessageType.RequestData, S11TableNm_Jinken, new object[] { 乗務員ID, 年月 }));
                            //マスタ表示
                            base.SendRequest(new CommunicationObject(MessageType.RequestData, S11TableNm_Kotei, new object[] { 乗務員ID, 年月 }));
                        }
                        else
                        {
                            this.ErrorMessage = "データがありません。";
                            iChkFlg           = 9;
                        }

                        break;

                    //変動データ取得
                    case S11TableNm_Hendo:
                        if (!(乗務員ID > 0))
                        {
                            break;
                        }
                        if (tbl.Rows.Count > 0)
                        {
                            rowHendoData = (List <S13_DRVSB_Member>)AppCommon.ConvertFromDataTable(typeof(List <S13_DRVSB_Member>), tbl);
                            //this.sp変動費.ItemsSource = this.rowHendoData.DefaultView;
                            //this.sp変動費.SelectedItems.Clear();
                        }
                        else
                        {
                            return;
                        }

                        break;

                    //人件データ取得
                    case S11TableNm_Jinken:
                        if (!(乗務員ID > 0))
                        {
                            break;
                        }

                        if (tbl.Rows.Count > 0)
                        {
                            rowJinkenData = (List <S13_DRVSB_Member>)AppCommon.ConvertFromDataTable(typeof(List <S13_DRVSB_Member>), tbl);
                            //this.sp人件費.ItemsSource = this.rowJinkenData.DefaultView;
                            //this.sp人件費.SelectedItems.Clear();
                        }
                        else
                        {
                            return;
                        }
                        break;

                    //固定データ取得
                    case S11TableNm_Kotei:
                        if (!(乗務員ID > 0))
                        {
                            SetFocusToTopControl();
                            this.ErrorMessage = "データがありません。";
                            break;
                        }

                        if (tbl.Rows.Count > 0)
                        {
                            rowKoteiData = (List <S13_DRVSB_Member>)AppCommon.ConvertFromDataTable(typeof(List <S13_DRVSB_Member>), tbl);
                            //this.sp固定経.ItemsSource = this.rowKoteiData.DefaultView;
                            //this.sp固定経.SelectedItems.Clear();
                        }
                        else
                        {
                            SetFocusToTopControl();
                            this.ErrorMessage = "データがありません。";
                            return;
                        }

                        if (iChkFlg == 0)
                        {
                            System.Windows.Forms.Application.DoEvents();
                            Keisan();
                            //キーをfalse
                            ChangeKeyItemChangeable(false);
                            SetFocusToTopControl();
                        }
                        else
                        {
                            SetFocusToTopControl();
                            this.ErrorMessage = "データがありません。";
                            return;
                        }


                        break;

                    case UpdateTable:

                        break;

                    case DeleteTable:
                        ScreenClear();
                        break;
                    //case M04_DRVTableNm:
                    //    string Henkan;
                    //    Henkan = tbl.Rows[0]["T締日"].ToString();
                    //    締日 = AppCommon.IntParse(Henkan);
                    //    break;

                    default:
                        break;
                    }
                }
                else
                {
                    //DataTable tbl = data as DataTable;
                    switch (message.GetMessageName())
                    {
                    case TargetTableNm:
                        iChkFlg = 9;
                        break;

                    case S11TableNm_Hendo:

                        rowS11 = tbl.Rows[0];

                        this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                        rowS11 = tbl.Rows[0];

                        //キーをfalse
                        ChangeKeyItemChangeable(false);
                        SetFocusToTopControl();

                        break;

                    //人件データ取得
                    case S11TableNm_Jinken:
                        return;

                    //固定データ取得
                    case S11TableNm_Kotei:
                        if (iChkFlg == 9)
                        {
                            this.ErrorMessage = "データがありません。";
                        }
                        return;

                    case UpdateTable:
                        return;

                    case DeleteTable:
                        ScreenClear();
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #15
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                DataTable tbl = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                //通常データ検索
                case TargetTableNm:
                    if (tbl.Rows.Count > 0)
                    {
                        if (!string.IsNullOrEmpty(tbl.Rows[0]["削除日時"].ToString()))
                        {
                            //this.ErrorMessage = "既に削除されているデータです。";
                            //MessageBox.Show("既に削除されているデータです。");
                            //return;

                            MessageBoxResult result = MessageBox.Show("既に削除されているデータです。\nこのコードを復元しますか?",
                                                                      "質問",
                                                                      MessageBoxButton.YesNo,
                                                                      MessageBoxImage.Exclamation,
                                                                      MessageBoxResult.No);

                            if (result == MessageBoxResult.No)
                            {
                                return;
                            }
                        }

                        SetTblData(tbl);
                        //編集ステータス表示
                        this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;
                    }
                    else
                    {
                        tbl.Rows.Add();
                        MstData = tbl.Rows[0];
                        //新規ステータス表示
                        this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                    }

                    //キーをfalse
                    ChangeKeyItemChangeable(false);
                    SetFocusToTopControl();
                    break;

                //更新処理受信
                case TargetTableNmUpdate:
                    if ((int)data == -1)
                    {
                        MessageBoxResult result = MessageBox.Show("出荷先コード:" + 出荷先コード + "は既に使われています。", "確認");
                        break;
                    }
                    MessageBox.Show(AppConst.COMPLETE_UPDATE);
                    //コントロール初期化
                    ScreenClear();
                    break;

                //削除処理受信
                case TargetTableNmDelete:
                    MessageBox.Show(AppConst.COMPLETE_DELETE);
                    //コントロール初期化
                    ScreenClear();
                    break;

                case GET_UcZip:
                    // 住所情報取得
                    ShowAddresList(tbl);
                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #16
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                //支払先名検索時
                case ShiharaisakiTableNm:
                    if (tbl.Rows.Count == 0)
                    {
                        return;
                    }
                    else
                    {
                        支払先名1 = tbl.Rows[0]["取引先名1"].ToString();
                        支払先名2 = tbl.Rows[0]["取引先名2"].ToString();
                    }


                    break;

                //検索時
                case TargetTableNm:
                    if (tbl.Rows.Count == 0)
                    {
                        MstData = tbl.NewRow();
                    }
                    else
                    {
                        MstData = tbl.Rows[0];

                        支払先ID  = MstData["取引先ID"].ToString();
                        適用開始日付 = (DateTime?)MstData["適用開始日"];
                    }
                    //支払先ID変更不可
                    LabelTextShiharaiId.Text1IsReadOnly = true;
                    break;

                //更新時処理
                case TargetTableNmUpdate:
                    MessageBox.Show("データの更新が完了しました。");
                    //コントロール初期化
                    UcInitialize();

                    break;

                //削除時処理
                case TargetTableNmDelete:
                    MessageBox.Show("データの削除が完了しました。");
                    //コントロール初期化
                    UcInitialize();

                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #17
0
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            var       data = message.GetResultData();
            DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

            switch (message.GetMessageName())
            {
            case GetDetailsNumber:
                base.SetFreeForInput();
                var ds = data as DataSet;
                this.ErrorMessage = string.Empty;
                if (tbl.Rows.Count == 0)
                {
                    if (this.MaintenanceMode != AppConst.MAINTENANCEMODE_ADD)
                    {
                        this.IDetailsNumber.Focus();
                        this.ErrorMessage = "該当する明細番号はありません。";
                        return;
                    }
                }
                else
                {
                    this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;
                    入力者ID = AppCommon.IntParse(tbl.Rows[0]["入力者ID"].ToString());
                }

                #region datatableをlistへ変換
                出金明細リスト = (List <DLY09010_Member>)AppCommon.ConvertFromDataTable(typeof(List <DLY09010_Member>), tbl);
                #endregion

                if (MaintenanceMode == AppConst.MAINTENANCEMODE_ADD)
                {
                    //新規データならSpreadに新規行を1件作成
                    spSyukin.Rows.AddNew();
                    this.spSyukin.Select(new CellRange(0, 0), SelectionType.New);
                    this.spSyukin[0, spSyukin.Columns["明細番号"].Index].Value = this.DetailsNumber;
                    this.spSyukin[0, spSyukin.Columns["明細行"].Index].Value  = 1;
                }
                else
                {
                    this.得意先ID = AppCommon.IntParse(tbl.Rows[0]["得意先ID"].ToString());
                    if (DBNull.Value.Equals(tbl.Rows[0]["入出金日付"]))
                    {
                        this.出金日付 = null;
                    }
                    else
                    {
                        DateTime Wk;
                        this.出金日付 = DateTime.TryParse(tbl.Rows[0]["入出金日付"].ToString(), out Wk) ? Wk : 初期日付;
                    }
                    Calculate();
                }
                //spSyukin.Locked = false;
                ChangeKeyItemChangeable(false);
                SetFocusToTopControl();
                break;

            case M01ALLTableNm:
                if (tbl.Rows.Count > 0)
                {
                    締日  = tbl.Rows[0]["締日"].ToString();
                    集金日 = tbl.Rows[0]["集金日"].ToString();
                    サイト = tbl.Rows[0]["サイト"].ToString();
                    DoEvents();
                    if (!base.CheckAllValidation())
                    {
                        this.ErrorMessage = "入力内容に誤りがあります。";
                        MessageBox.Show("入力内容に誤りがあります。");
                        SetFocusToTopControl();
                        return;
                    }
                    OgetData();
                }
                break;

            case New_Details:
                DetailsNumber        = (int)data;
                this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                base.SendRequest(new CommunicationObject(MessageType.RequestData, GetDetailsNumber, new object[] { DetailsNumber }));
                break;

            case GetTekiyoName:
                CatchupTekiyoName(tbl);
                break;

            case DLY09010_NData:
                if (tbl == null || tbl.Rows.Count == 0)
                {
                    spSyukin.Locked = false;
                    break;
                }
                出金予定額           = Convert.ToInt32(tbl.Rows[0]["予定出金金額"].ToString());
                既出金額            = Convert.ToInt32(tbl.Rows[0]["既出金額"].ToString());
                入金相殺            = Convert.ToInt32(tbl.Rows[0]["入金相殺"].ToString());
                spSyukin.Locked = false;
                break;

            case DLY09010_OData:
                this.過去出金明細データ検索結果           = (data as DataTable);
                this.spOldSyukin.ItemsSource = this.過去出金明細データ検索結果.DefaultView;
                break;

            case DLY09010_DELETE:
                IsUpdated = true;
                MessageBox.Show("データを削除しました。");
                ScreenClear();
                break;

            case DLY09010_UPDATE:
                IsUpdated = true;
                if (番号通知区分 == 1)
                {
                    MessageBox.Show(string.Format("明細番号 {0} で登録しました。", (int)data));
                }
                ScreenClear();
                break;

            case GetMeisaiNo:
                if (data == null)
                {
                    return;
                }
                int no = (int)data;
                if (no < 1)
                {
                    // データが無かった場合
                    switch (datagetmode)
                    {
                    case DataGetMode.first:
                    case DataGetMode.last:
                        this.ErrorMessage = "データがありません。";
                        break;

                    case DataGetMode.previous:
                        this.ErrorMessage = "先頭のデータです。";
                        break;

                    case DataGetMode.next:
                        this.ErrorMessage = "最後のデータです。";
                        break;

                    case DataGetMode.number:
                        break;
                    }
                    return;
                }
                if (no != this.DetailsNumber)
                {
                    this.DetailsNumber = no;
                    GetMeisaiData();
                }
                break;

            case GetMaxMeisaiNo:
                登録件数 = (int)data;
                break;
            }
        }
Beispiel #18
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;

                base.SetFreeForInput();
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;
                switch (message.GetMessageName())
                {
                case LOAD_MST32010:
                    if (tbl.Rows.Count > 0)
                    {
                        車輌別予算リスト = (List <SERCHE_MST32010>)AppCommon.ConvertFromDataTable(typeof(List <SERCHE_MST32010>), tbl);

                        //車輌別予算データ = tbl;
                        //this.sp燃費目標データ.ItemsSource = this.車輌別予算データ.DefaultView;
                        Cnt = 0;
                    }
                    else
                    {
                        this.ErrorMessage = "データがありません。";
                        return;
                    }
                    break;

                case SEARCH_MST32010:
                    if (tbl.Rows.Count > 0)
                    {
                        車輌別予算リスト = null;
                        車輌別予算リスト = (List <SERCHE_MST32010>)AppCommon.ConvertFromDataTable(typeof(List <SERCHE_MST32010>), tbl);

                        //車輌別予算データ = tbl;
                        //this.sp燃費目標データ.ItemsSource = this.車輌別予算データ.DefaultView;
                        Cnt = 1;
                        ChangeKeyItemChangeable(false);
                        //リボンの状態表示
                        if (tbl.Rows[0]["Flg"].ToString() == "0")
                        {
                            //新規ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                        }
                        else
                        {
                            //編集ステータス表示
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_EDIT;
                        }

                        DateTime d年月 = Convert.ToDateTime(作成年月.Substring(0, 4).ToString() + "/" + 作成年月.Substring(5, 2).ToString() + "/" + "01");
                        sp燃費目標データ.ColumnHeader[0, 2].Value  = (d年月.Month).ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 3].Value  = (d年月.AddMonths(1).Month).ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 4].Value  = d年月.AddMonths(2).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 5].Value  = d年月.AddMonths(3).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 6].Value  = d年月.AddMonths(4).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 7].Value  = d年月.AddMonths(5).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 8].Value  = d年月.AddMonths(6).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 9].Value  = d年月.AddMonths(7).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 10].Value = d年月.AddMonths(8).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 11].Value = d年月.AddMonths(9).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 12].Value = d年月.AddMonths(10).Month.ToString() + "月";
                        sp燃費目標データ.ColumnHeader[0, 13].Value = d年月.AddMonths(11).Month.ToString() + "月";
                    }
                    else
                    {
                        this.ErrorMessage = "データがありません。";
                        return;
                    }
                    break;

                case LAST_MANTH_MST32010:
                    if (tbl.Rows.Count > 0)
                    {
                        車輌別予算リスト = (List <SERCHE_MST32010>)AppCommon.ConvertFromDataTable(typeof(List <SERCHE_MST32010>), tbl);
                        //車輌別予算データ = tbl;

                        Cnt = 1;
                    }
                    else
                    {
                        this.ErrorMessage = "データがありません。";
                        return;
                    }
                    break;

                case NINSERT_MST32010:
                    MessageBox.Show("更新が完了しました。");
                    ChangeKeyItemChangeable(true);
                    SetFocusToTopControl();
                    this.MaintenanceMode = string.Empty;

                    車輌別予算リスト = null;
                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #19
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                if (data is DataTable)
                {
                    DataTable tbl = data as DataTable;

                    switch (message.GetMessageName())
                    {
                    case SEARCH_TKS08010_PRT:
                        // 検索結果取得時
                        DispPreviw(tbl);
                        break;

                    case SEARCH_TKS08010_CSV:
                        OutPutCSV(tbl);
                        break;

                    case GetJisData:
                        if (tbl == null || tbl.Rows.Count == 0)
                        {
                            myCompany.SetFocus();
                            ErrorMessage = "自社コードがマスタに存在しません。";
                            return;
                        }

                        #region 基準日チェック
                        // 基準年月の入力範囲チェック
                        int i基準年  = AppCommon.IntParse(ReferenceYearMonth.Text.Substring(0, 4));
                        int i基準月  = AppCommon.IntParse(ReferenceYearMonth.Text.Substring(5, 2));
                        int i基準年月 = i基準年 * 100 + i基準月;

                        // 前々年度末の年月日を取得
                        DateTime dtTwoYearsBefore;

                        // 決算月を取得、なければ3月固定
                        int i決算月 = AppCommon.IntParse(tbl.Rows[0]["決算月"].ToString(), 3);

                        if (i決算月 < DateTime.Today.Month)
                        {
                            // 決算月がシステム日付より小さい場合、1年前が前々年度になる
                            dtTwoYearsBefore = DateTime.Today.AddYears(-1);
                        }
                        else
                        {
                            // 決算月がシステム日付より大きいまたは同じ場合、2年前が前々年度になる
                            dtTwoYearsBefore = DateTime.Today.AddYears(-2);
                        }

                        DateTime dt入力可能基準日 = new DateTime(dtTwoYearsBefore.Year, i決算月, 1).AddMonths(7);
                        int      i入力可能基準日  = dt入力可能基準日.Year * 100 + dt入力可能基準日.Month;

                        if (i入力可能基準日 > i基準年月)
                        {
                            ReferenceYearMonth.Focus();
                            ErrorMessage = string.Format("基準年月は{0}以降で入力してください。", dt入力可能基準日.Year + "/" + dt入力可能基準日.Month.ToString().PadLeft(2, '0'));
                            return;
                        }

                        #endregion

                        var yesno = MessageBox.Show("計算に時間がかかります。よろしいですか?", "",
                                                    MessageBoxButton.YesNo,
                                                    MessageBoxImage.Question,
                                                    MessageBoxResult.No);
                        if (yesno == MessageBoxResult.No)
                        {
                            return;
                        }

                        if (印刷フラグ)
                        {
                            // 印刷
                            base.SendRequest(
                                new CommunicationObject(
                                    MessageType.RequestDataWithBusy,
                                    SEARCH_TKS08010_PRT,
                                    new object[] {
                                paramDic
                            }));
                        }
                        else
                        {
                            // CSV
                            base.SendRequest(
                                new CommunicationObject(
                                    MessageType.RequestDataWithBusy,
                                    SEARCH_TKS08010_CSV,
                                    new object[] {
                                paramDic
                            }));
                        }

                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #20
0
        /// <summary>
        /// データ受信メソッド
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                if (data is DataTable)
                {
                    DataTable tbl = data as DataTable;

                    switch (message.GetMessageName())
                    {
                    //通常データ検索
                    case TargetTableNm:
                        StrData(tbl);

                        break;

                    //更新処理受信
                    case TargetTableNmUpdate:


                    //削除処理受信
                    case TargetTableNmDelete:
                        MessageBox.Show("削除が完了しました。");
                        //コントロール初期化
                        ScreenClear();
                        break;
                    }
                }
                else
                {
                    switch (message.GetMessageName())
                    {
                    case GetNextID:
                        if (data is int)
                        {
                            int iNextCode = (int)data;
                            規制区分ID = iNextCode.ToString();
                            ChangeKeyItemChangeable(false);
                            this.MaintenanceMode = AppConst.MAINTENANCEMODE_ADD;
                            SetFocusToTopControl();
                        }
                        break;

                    case TargetTableNmUpdate:

                        if ((int)data == -1)
                        {
                            MessageBoxResult result = MessageBox.Show("車種コード: " + 規制区分ID + "は既に使われています。\n自動採番して登録しますか?",
                                                                      "質問",
                                                                      MessageBoxButton.YesNo,
                                                                      MessageBoxImage.Exclamation,
                                                                      MessageBoxResult.No);

                            if (result == MessageBoxResult.No)
                            {
                                return;
                            }

                            int i規制区分ID = AppCommon.IntParse(規制区分ID);

                            base.SendRequest(new CommunicationObject(MessageType.UpdateData, TargetTableNmUpdate, new object[] { i規制区分ID
                                                                                                                                 , 種別
                                                                                                                                 , this.MaintenanceMode == AppConst.MAINTENANCEMODE_ADD ? true : false
                                                                                                                                 , true }));
                            break;
                        }

                        ScreenClear();
                        break;

                    case TargetTableNmDelete:
                        ScreenClear();
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #21
0
        /// <summary>
        /// 取得データの取り込み
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;

                base.SetFreeForInput();

                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case GET_LIST_SEARCH:
                    if (tbl == null)
                    {
                        this.sp確定データ一覧.ItemsSource = null;
                        this.ErrorMessage          = "システムエラーが発生しました。サポートにお問い合わせください。";
                        return;
                    }
                    else
                    {
                        if (tbl.Rows.Count > 0)
                        {
                            SearchList = tbl;

                            // 確定ボタンを連結
                            var spanList = tbl.AsEnumerable()
                                           .GroupBy(g => new{
                                jis      = g.Field <string>("自社名"),
                                kbn      = g.Field <int>("確定区分"),
                                closeDay = g.Field <int>("締日")
                            })
                                           .Select(s => new
                            {
                                day   = s.Key,
                                count = s.Count()
                            }).ToList();

                            int rowNo = 0;
                            int cnt   = 1;
                            var brsh  = new BrushConverter();

                            foreach (var span in spanList)
                            {
                                // 連結
                                sp確定データ一覧[rowNo, (int)GridColumnsMapping.締日].RowSpan    = span.count;
                                sp確定データ一覧[rowNo, (int)GridColumnsMapping.確定日].RowSpan   = span.count;
                                sp確定データ一覧[rowNo, (int)GridColumnsMapping.確定ボタン].RowSpan = span.count;

                                // 背景色設定
                                if (cnt % 2 == 0)
                                {
                                    sp確定データ一覧[rowNo, (int)GridColumnsMapping.締日].Background    = new SolidColorBrush(Colors.White);
                                    sp確定データ一覧[rowNo, (int)GridColumnsMapping.確定日].Background   = new SolidColorBrush(Colors.White);
                                    sp確定データ一覧[rowNo, (int)GridColumnsMapping.確定ボタン].Background = new SolidColorBrush(Colors.White);
                                }
                                else
                                {
                                    sp確定データ一覧[rowNo, (int)GridColumnsMapping.締日].Background    = (SolidColorBrush)brsh.ConvertFrom("#FFEAF1DD");
                                    sp確定データ一覧[rowNo, (int)GridColumnsMapping.確定日].Background   = (SolidColorBrush)brsh.ConvertFrom("#FFEAF1DD");;
                                    sp確定データ一覧[rowNo, (int)GridColumnsMapping.確定ボタン].Background = (SolidColorBrush)brsh.ConvertFrom("#FFEAF1DD");
                                }
                                rowNo += span.count;
                                cnt++;
                            }

                            gridCtl.SetCellFocus(0, 0);
                            gridCtl.ScrollShowCell(0, 0);
                        }
                        else
                        {
                            SearchList        = null;
                            this.ErrorMessage = "指定された条件の請求データはありません。";
                        }
                    }
                    break;

                case UPDATE:
                    MessageBoxResult result =
                        MessageBox.Show(
                            "登録が完了しました。",
                            "メッセージ",
                            MessageBoxButton.OK,
                            MessageBoxImage.Information);

                    if (result == MessageBoxResult.OK)
                    {
                        gridCtl.SetCellFocus(0, 0);
                    }

                    break;
                }
            }
            catch (Exception ex)
            {
                this.ErrorMessage = ex.Message;
            }
        }
Beispiel #22
0
        /// <summary>
        /// 取得データの正常受信時のイベント
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                var data = message.GetResultData();

                DataTable tbl = (data is DataTable) ? (data as DataTable) : null;
                switch (message.GetMessageName())
                {
                //検索結果取得時
                case SEARCH_JMI14010:
                    DispPreviw(tbl);
                    break;

                case SEARCH_JMI14010_CSV:
                    tbl_JMI14010 = tbl;
                    int?[] i乗務員List = new int?[0];
                    if (!string.IsNullOrEmpty(乗務員ピックアップ))
                    {
                        string[] 乗務員List = 乗務員ピックアップ.Split(',');
                        i乗務員List = new int?[乗務員List.Length];

                        for (int i = 0; i < 乗務員List.Length; i++)
                        {
                            string str = 乗務員List[i];
                            int    code;
                            if (!int.TryParse(str, out code))
                            {
                                this.ErrorMessage = "乗務員指定の形式が不正です。";
                                return;
                            }
                            i乗務員List[i] = code;
                        }
                    }
                    base.SendRequest(new CommunicationObject(MessageType.RequestDataWithBusy, SEARCH_JMI04010_CSV, new object[] { 乗務員From, 乗務員To, i乗務員List, 集計期間From, 集計期間To, 乗務員ピックアップ }));
                    //OutPutCSV(tbl);
                    break;

                case SEARCH_JMI04010_CSV:
                    tbl_JMI14010_KEIHI = tbl;
                    int?[] i乗務員List2 = new int?[0];
                    if (!string.IsNullOrEmpty(乗務員ピックアップ))
                    {
                        string[] 乗務員List = 乗務員ピックアップ.Split(',');
                        i乗務員List = new int?[乗務員List.Length];

                        for (int i = 0; i < 乗務員List.Length; i++)
                        {
                            string str = 乗務員List[i];
                            int    code;
                            if (!int.TryParse(str, out code))
                            {
                                this.ErrorMessage = "乗務員指定の形式が不正です。";
                                return;
                            }
                            i乗務員List[i] = code;
                        }
                    }
                    base.SendRequest(new CommunicationObject(MessageType.RequestDataWithBusy, SEARCH_JMI01010_CSV, new object[] { 乗務員From, 乗務員To, i乗務員List2, 集計期間From, 集計期間To, 乗務員ピックアップ }));
                    //OutPutCSV(tbl);
                    break;

                case SEARCH_JMI01010_CSV:
                    OutPutCSV(tbl);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }