/// <summary> /// 業務バリデーションチェックをおこなう /// </summary> /// <returns></returns> private bool CheckFormValid() { // 自社コードの必須入力チェック if (string.IsNullOrEmpty(myCompany.Text1)) { myCompany.SetFocus(); ErrorMessage = "自社コードが入力されていません。"; return(false); } // 基準年月の必須入力チェック if (string.IsNullOrEmpty(ReferenceYearMonth.Text)) { ReferenceYearMonth.Focus(); ErrorMessage = "基準年月が入力されていません。"; return(false); } if (isPaymentAllDays.IsChecked == true) { // 全入金日の状態チェック(作成入金日入力かつチェックオンはエラー) if (!string.IsNullOrEmpty(ClosingDay.Text)) { isPaymentAllDays.Focus(); ErrorMessage = "作成締日が設定されている場合はチェックをオフにしてください。"; return(false); } } else { // 入金締日の入力チェック(全入金日チェック無しの場合) if (string.IsNullOrEmpty(ClosingDay.Text)) { ClosingDay.Focus(); ErrorMessage = "入金締日が入力されていません。"; return(false); } } return(true); }
/// <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; } }