예제 #1
0
        /// <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);
        }
예제 #2
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;
            }
        }