/// <summary> /// 入力内容の検証をおこなう /// </summary> /// <returns></returns> private bool isFormValidation() { bool isResult = false; #region 【ヘッダ】必須入力チェック // 移動日 if (string.IsNullOrEmpty(this.txt移動日.Text)) { this.txt移動日.Focus(); base.ErrorMessage = string.Format("移動日が入力されていません。"); return(isResult); } #endregion // 自社品番 if (string.IsNullOrEmpty(this.txt出庫自社品番.Text2)) { this.txt出庫自社品番.Focus(); base.ErrorMessage = string.Format("出庫の自社品番が入力されていません。"); return(isResult); } // 【出庫明細】品番の商品分類が食品(1)の場合は賞味期限が必須 var 出庫商品分類 = OutSearchDetail.Field <int>("商品分類"); var 出庫賞味期限 = OutSearchDetail.Field <DateTime?>("賞味期限"); int stype = Convert.ToInt32(出庫商品分類); if (出庫賞味期限 == null) { // 賞味期限が空欄かつ商品分類が「食品」の場合はエラー if (stype.Equals((int)商品分類.食品)) { this.txt出庫賞味期限.Focus(); base.ErrorMessage = string.Format("出庫の自社品番の商品分類が『食品』の為、賞味期限の設定が必要です。"); return(isResult); } } // 出庫数量 if (string.IsNullOrEmpty(txt出庫数量.Text) || decimal.Parse(txt出庫数量.Text) == 0) { this.txt出庫数量.Focus(); base.ErrorMessage = string.Format("出庫の数量が入力されていません。"); return(isResult); } // 出庫倉庫 if (string.IsNullOrEmpty(this.txt出庫倉庫.Text1)) { this.txt出庫倉庫.Focus(); base.ErrorMessage = string.Format("出庫の倉庫が入力されていません。"); return(isResult); } // 自社品番 if (string.IsNullOrEmpty(this.txt入庫自社品番.Text2)) { this.txt入庫自社品番.Focus(); base.ErrorMessage = string.Format("入庫の自社品番が入力されていません。"); return(isResult); } // 【入庫明細】品番の商品分類が食品(1)の場合は賞味期限が必須 var 入庫商品分類 = InSearchDetail.Field <int>("商品分類"); var 入庫賞味期限 = InSearchDetail.Field <DateTime?>("賞味期限"); int ntype = Convert.ToInt32(入庫商品分類); if (入庫賞味期限 == null) { // 賞味期限が空欄かつ商品分類が「食品」の場合はエラー if (ntype.Equals((int)商品分類.食品)) { this.txt入庫賞味期限.Focus(); base.ErrorMessage = string.Format("入庫の自社品番の商品分類が『食品』の為、賞味期限の設定が必要です。"); return(isResult); } } // 入庫数量 if (string.IsNullOrEmpty(txt入庫数量.Text) || decimal.Parse(txt入庫数量.Text) == 0) { this.txt入庫数量.Focus(); base.ErrorMessage = string.Format("入庫の数量が入力されていません。"); return(isResult); } // 入庫倉庫 if (string.IsNullOrEmpty(this.txt入庫倉庫.Text1)) { this.txt入庫倉庫.Focus(); base.ErrorMessage = string.Format("入庫の倉庫が入力されていません。"); return(isResult); } // 同一商品チェック int i出庫品番コード = OutSearchDetail.Field <int>("品番コード"); int i入庫品番コード = InSearchDetail.Field <int>("品番コード"); if (i出庫品番コード == i入庫品番コード && this.txt出庫賞味期限.Text == this.txt入庫賞味期限.Text && this.txt出庫倉庫.Text1 == this.txt入庫倉庫.Text1) { this.txt出庫自社品番.Focus(); base.ErrorMessage = string.Format("出庫と入庫で同じ組み合わせの品番は登録できません。"); return(isResult); } return(true); }
/// <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 DLY04011_GetData: // 伝票検索または新規伝票の場合 DataSet ds = data as DataSet; if (ds != null) { SetTblData(ds); ChangeKeyItemChangeable(false); this.txt移動日.Focus(); } else { MessageBox.Show("指定の伝票番号は登録されていません。", "伝票未登録", MessageBoxButton.OK, MessageBoxImage.Asterisk); this.txt伝票番号.Focus(); } break; case UpdateData_StockCheck: // 在庫数チェック結果受信 Dictionary <int, string> updateList = data as Dictionary <int, string>; string zaiUpdateMessage = AppConst.CONFIRM_UPDATE; var zaiMBImage = MessageBoxImage.Question; int outNum = OutSearchDetail.Field <int>("行番号"); int inNum = InSearchDetail.Field <int>("行番号"); if (updateList.ContainsKey(outNum) == true && updateList.ContainsKey(inNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "入庫と出庫の在庫がマイナスになりますが、\r\n登録してもよろしいでしょうか?"; } else if (updateList.ContainsKey(outNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "出庫の在庫がマイナスになりますが、\r\n登録してもよろしいでしょうか?"; } else if (updateList.ContainsKey(inNum) == true) { zaiMBImage = MessageBoxImage.Warning; zaiUpdateMessage = "入庫の在庫がマイナスになりますが、\r\n登録してもよろしいでしょうか?"; } if (MessageBox.Show(zaiUpdateMessage, "登録確認", MessageBoxButton.YesNo, zaiMBImage, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } Update(); break; case DeleteData_StockCheck: // 在庫数チェック結果受信 Dictionary <int, string> deleteZaiList = data as Dictionary <int, string>; string zaiDelMessage = "表示中の伝票を削除してもよろしいですか?"; var zaiDelMBImage = MessageBoxImage.Question; if (deleteZaiList.Count > 0) { zaiDelMBImage = MessageBoxImage.Warning; zaiDelMessage = "入庫の在庫がマイナスになりますが、\r\n表示中の伝票を削除してもよろしいでしょうか?"; } if (MessageBox.Show(zaiDelMessage, "登録確認", MessageBoxButton.YesNo, zaiDelMBImage, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } Delete(); break; case DLY04011_Update: MessageBox.Show(AppConst.SUCCESS_UPDATE, "登録完了", MessageBoxButton.OK, MessageBoxImage.Information); // コントロール初期化 ScreenClear(); break; case DLY04011_Delete: MessageBox.Show(AppConst.SUCCESS_DELETE, "削除完了", MessageBoxButton.OK, MessageBoxImage.Information); // コントロール初期化 ScreenClear(); break; case GetMyProduct: #region 自社品番 手入力時 DataTable ctbl = data as DataTable; int? p商品コード = null; int? p商品分類 = null; string p商品名 = string.Empty; string p自社色情報 = string.Empty; // 対象データが存在する場合 if (ctbl != null && ctbl.Rows.Count > 0) { if (ctbl.Rows.Count == 1) { p商品コード = int.Parse(ctbl.Rows[0]["品番コード"].ToString()); p商品名 = ctbl.Rows[0]["自社品名"].ToString(); p商品分類 = int.Parse(ctbl.Rows[0]["商品分類"].ToString()); p自社色情報 = ctbl.Rows[0]["自社色"].ToString() + " " + ctbl.Rows[0]["自社色名"].ToString(); } else { // 対象データが複数存在する場合 SCHM09_MYHIN myhin = new SCHM09_MYHIN(); myhin.txtCode.Text = 入出庫フラグ == 1 ? txt入庫自社品番.Text1 : txt出庫自社品番.Text1; myhin.txtCode.IsEnabled = false; myhin.TwinTextBox = new UcLabelTwinTextBox(); myhin.TwinTextBox.LinkItem = 0; if (myhin.ShowDialog(this) == true) { p商品コード = int.Parse(myhin.SelectedRowData["品番コード"].ToString()); p商品名 = myhin.SelectedRowData["自社品名"].ToString(); p商品分類 = int.Parse(myhin.SelectedRowData["商品分類"].ToString()); p自社色情報 = myhin.SelectedRowData["自社色"].ToString() + " " + myhin.SelectedRowData["自社色名"].ToString(); } } } if (入出庫フラグ == 1) { if (p商品コード == null) { InSearchDetail["品番コード"] = DBNull.Value; } else { InSearchDetail["品番コード"] = p商品コード; } if (p商品分類 == null) { InSearchDetail["商品分類"] = DBNull.Value; } else { InSearchDetail["商品分類"] = p商品分類; } txt入庫自社品番.Text2 = p商品名; 入庫自社色情報 = p自社色情報; } else if (入出庫フラグ == 2) { if (p商品コード == null) { OutSearchDetail["品番コード"] = DBNull.Value; } else { OutSearchDetail["品番コード"] = p商品コード; } if (p商品分類 == null) { OutSearchDetail["商品分類"] = DBNull.Value; } else { OutSearchDetail["商品分類"] = p商品分類; } txt出庫自社品番.Text2 = p商品名; 出庫自社色情報 = p自社色情報; } #endregion break; default: break; } } catch (Exception ex) { throw ex; } }