コード例 #1
0
 private void Kikan_Keisan()
 {
     if (作成年 < 2 || (作成月 < 1 || 作成月 > 12) || (作成締日 < 1 || 作成締日 > 31))
     {
         this.ErrorMessage = "入力値エラーです。もう一度入力してください。";
         MessageBox.Show("入力値エラーです。もう一度入力してください。");
         SetFocusToTopControl();
         ReturnValue = 0;
         return;
     }
     else
     {
         if (作成締日 < 31)
         {
             string   Date = 作成年.ToString() + "/" + 作成月.ToString() + "/" + 01;
             DateTime 作成年月 = Convert.ToDateTime(Date);
             DateTime YYY, DDD, Test;
             int      itest, i作成締日;
             YYY = 作成年月.AddMonths(-1);
             string test  = YYY.ToString();
             string test2 = test;
             Test = Convert.ToDateTime(test).AddMonths(+1).AddDays(-1);
             string test3 = Test.ToString().Substring(8, 2);
             itest = Convert.ToInt32(test3);
             i作成締日 = Convert.ToInt32(作成締日);
             if (itest < i作成締日)
             {
                 test     = test.Substring(0, 7);
                 test     = test + "/" + itest;
                 YYY      = Convert.ToDateTime(test).AddDays(+1);
                 DDD      = YYY.AddMonths(+1).AddDays(-1);
                 集計期間From = YYY;
                 集計期間To   = DDD;
             }
             else
             {
                 test     = test.Substring(0, 7);
                 test     = test + "/" + i作成締日.ToString();
                 YYY      = Convert.ToDateTime(test).AddDays(+1);
                 DDD      = Convert.ToDateTime(test).AddMonths(+1);
                 集計期間From = YYY;
                 集計期間To   = DDD;
             }
         }
         else if (作成締日 == 31)
         {
             string   Date = 作成年.ToString() + "/" + 作成月.ToString() + "/" + 01;
             DateTime YYY, DDD;
             YYY      = Convert.ToDateTime(Date);
             DDD      = Convert.ToDateTime(Date);
             DDD      = DDD.AddMonths(+1).AddDays(-1);
             集計期間From = YYY;
             集計期間To   = DDD;
         }
         if (集計期間From == null || 集計期間To == null)
         {
             ReturnValue = 0;
         }
         else
         {
             DateTime Wk;
             DateTime p集計期間To, p集計期間From;
             p集計期間To     = DateTime.TryParse(集計期間To.ToString(), out Wk) ? Wk : DateTime.Today;
             p集計期間From   = DateTime.TryParse(集計期間From.ToString(), out Wk) ? Wk : DateTime.Today;
             ReturnValue = 1;
             TimeSpan span = p集計期間To - p集計期間From;
             期間日数 = span.Days;
         }
     }
 }
コード例 #2
0
        private void Lost_Month(object sender, RoutedEventArgs e)
        {
            if (作成月 == null)
            {
                string   Date;
                int      iDate;
                DateTime MM;
                MM    = DateTime.Today;
                Date  = Convert.ToString(MM);
                Date  = Date.Substring(5, 2);
                iDate = Convert.ToInt32(Date);
                作成月   = iDate.ToString();
            }
            else
            {
                int?換月 = -1;
                if (!string.IsNullOrEmpty(作成月))
                {
                    換月 = AppCommon.IntParse(作成月);
                }
                //再入力処理
                if (換月 == 0)
                {
                    string   Date;
                    int      iDate;
                    DateTime MM;
                    MM    = DateTime.Today;
                    Date  = Convert.ToString(MM);
                    Date  = Date.Substring(5, 2);
                    iDate = Convert.ToInt32(Date);
                    作成月   = iDate.ToString();
                }
                //再入力時のエラー処理
                //初期値0ではエラー処理が通らないので-1をセット
                if (換月 < 1 || 換月 > 12)
                {
                    if (換月 == -1)
                    {
                        string   Date;
                        int      iDate;
                        DateTime MM;
                        MM    = DateTime.Today;
                        Date  = Convert.ToString(MM);
                        Date  = Date.Substring(5, 2);
                        iDate = Convert.ToInt32(Date);
                        作成月   = iDate.ToString();
                    }
                }
            }

            if (!string.IsNullOrEmpty(作成締日))
            {
                //締日入力時
                //メソッドで期間計算
                DateFromTo ret = AppCommon.GetDateFromTo(Convert.ToInt32(作成年), Convert.ToInt32(作成月), Convert.ToInt32(作成締日));
                if (ret.Result == false || ret.Kikan > 31)
                {
                    this.ErrorMessage = "入力値エラーです。もう一度入力してください。";
                    MessageBox.Show("入力値エラーです。もう一度入力してください。");
                    作成月 = null;
                    SetFocusToTopControl();
                    return;
                }
                集計期間From = ret.DATEFrom;
                集計期間To   = ret.DATETo;
            }
            else
            {
                //全締日選択時 例外処理
                int?全締日時作成月 = 0;

                if (作成月 != null)
                {
                    全締日時作成月 = AppCommon.IntParse(作成月);
                    if (全締日時作成月 < 1 || 全締日時作成月 > 12)
                    {
                        this.ErrorMessage = "入力値エラーです。もう一度入力してください。";
                        MessageBox.Show("入力値エラーです。もう一度入力してください。");
                        作成月 = null;
                        SetFocusToTopControl();
                        return;
                    }
                }

                //全締日選択時
                string   Date = 作成年.ToString() + "/" + 全締日時作成月 + "/" + "01";
                DateTime YYY, DDD;
                YYY      = Convert.ToDateTime(Date);
                DDD      = Convert.ToDateTime(Date);
                DDD      = DDD.AddMonths(+1).AddDays(-1);
                集計期間From = YYY;
                集計期間To   = DDD;
            }

            //集計年月を作成
            Encoding sjisEnc = Encoding.GetEncoding("Shift_JIS");
            int      num     = sjisEnc.GetByteCount(作成月);

            if (!string.IsNullOrEmpty(作成締日))
            {
                int?p変換作成締日 = AppCommon.IntParse(作成締日);

                //文字のバイト数が1の場合、月に0を足して表示
                if (num == 1)
                {
                    集計年月 = Convert.ToInt32(作成年 + "0" + 作成月);
                }
                else
                {
                    集計年月 = Convert.ToInt32(作成年 + 作成月);
                }
            }
            else
            {
                //文字のバイト数が1の場合、月に0を足して表示
                if (num == 1)
                {
                    集計年月 = Convert.ToInt32(作成年 + "0" + 作成月);
                }
                else
                {
                    集計年月 = Convert.ToInt32(作成年 + 作成月);
                }
            }
        }
コード例 #3
0
        //作成月がNullの場合は今月の月を挿入
        private void Lost_Month(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(作成年))
            {
                string   Date;
                int      iDate;
                DateTime YYYY;
                YYYY  = DateTime.Today;
                Date  = Convert.ToString(YYYY);
                Date  = Date.Substring(0, 4);
                iDate = Convert.ToInt32(Date);
                作成年   = iDate.ToString();
            }

            if (string.IsNullOrEmpty(作成月))
            {
                string   Date;
                int      iDate;
                DateTime MM;
                MM    = DateTime.Today;
                Date  = Convert.ToString(MM);
                Date  = Date.Substring(5, 2);
                iDate = Convert.ToInt32(Date);
                作成月   = iDate.ToString();
            }

            if (!string.IsNullOrEmpty(作成締日))
            {
                int?換締日 = Convert.ToInt32(作成締日);
                if (換締日 < 31)
                {
                    string   Date = 作成年.ToString() + "/" + 作成月.ToString() + "/" + 01;
                    DateTime CheckDate;
                    if (!DateTime.TryParse(Date, out CheckDate))
                    {
                        return;
                    }
                    DateTime 作成年月 = Convert.ToDateTime(Date);
                    DateTime YYY, DDD, Test;
                    int      itest, i作成締日;
                    YYY = 作成年月.AddMonths(-1);
                    string test  = YYY.ToString();
                    string test2 = test;
                    Test = Convert.ToDateTime(test).AddMonths(+1).AddDays(-1);
                    string test3 = Test.ToString().Substring(8, 2);
                    itest = Convert.ToInt32(test3);
                    i作成締日 = Convert.ToInt32(作成締日);
                    if (itest < i作成締日)
                    {
                        test     = test.Substring(0, 7);
                        test     = test + "/" + itest;
                        YYY      = Convert.ToDateTime(test).AddDays(+1);
                        DDD      = YYY.AddMonths(+1).AddDays(-1);
                        集計期間From = YYY;
                        集計期間To   = DDD;
                    }
                    else
                    {
                        test     = test.Substring(0, 7);
                        test     = test + "/" + i作成締日.ToString();
                        YYY      = Convert.ToDateTime(test).AddDays(+1);
                        DDD      = Convert.ToDateTime(test).AddMonths(+1);
                        集計期間From = YYY;
                        集計期間To   = DDD;
                    }
                }
                else if (換締日 == 31)
                {
                    string   Date = 作成年.ToString() + "/" + 作成月.ToString() + "/" + 01;
                    DateTime CheckDate;
                    if (!DateTime.TryParse(Date, out CheckDate))
                    {
                        return;
                    }
                    DateTime YYY, DDD;
                    YYY      = Convert.ToDateTime(Date);
                    DDD      = Convert.ToDateTime(Date);
                    DDD      = DDD.AddMonths(+1).AddDays(-1);
                    集計期間From = YYY;
                    集計期間To   = DDD;
                }
            }
        }
コード例 #4
0
        //作成月がNullの場合は今月の月を挿入
        private void Lost_Month(object sender, RoutedEventArgs e)
        {
            if (作成月 == null)
            {
                string   Date;
                int      iDate;
                DateTime MM;
                MM    = DateTime.Today;
                Date  = Convert.ToString(MM);
                Date  = Date.Substring(5, 2);
                iDate = Convert.ToInt32(Date);
                作成月   = iDate.ToString();
            }
            else
            {
                int?換月 = -1;
                if (!string.IsNullOrEmpty(作成月))
                {
                    換月 = AppCommon.IntParse(作成月);
                }
                //再入力処理
                if (換月 == 0)
                {
                    string   Date;
                    int      iDate;
                    DateTime MM;
                    MM    = DateTime.Today;
                    Date  = Convert.ToString(MM);
                    Date  = Date.Substring(5, 2);
                    iDate = Convert.ToInt32(Date);
                    作成月   = iDate.ToString();
                }
                //再入力時のエラー処理
                //初期値0ではエラー処理が通らないので-1をセット
                if (換月 < 1 || 換月 > 12)
                {
                    if (換月 == -1)
                    {
                        string   Date;
                        int      iDate;
                        DateTime MM;
                        MM    = DateTime.Today;
                        Date  = Convert.ToString(MM);
                        Date  = Date.Substring(5, 2);
                        iDate = Convert.ToInt32(Date);
                        作成月   = iDate.ToString();
                    }
                }
            }

            if (!string.IsNullOrEmpty(作成締日))
            {
                //締日入力時
                //メソッドで期間計算
                DateFromTo ret = AppCommon.GetDateFromTo(Convert.ToInt32(作成年), Convert.ToInt32(作成月), Convert.ToInt32(作成締日));
                if (ret.Result == false || ret.Kikan > 31)
                {
                    this.ErrorMessage = "入力値エラーです。もう一度入力してください。";
                    MessageBox.Show("入力値エラーです。もう一度入力してください。");
                    SetFocusToTopControl();
                    return;
                }
                集計期間From = ret.DATEFrom;
                集計期間To   = ret.DATETo;
            }
            else
            {
                //全締日選択時
                string   Date = 作成年.ToString() + "/" + 作成月.ToString() + "/" + 01;
                DateTime YYY, DDD;
                YYY      = Convert.ToDateTime(Date);
                DDD      = Convert.ToDateTime(Date);
                DDD      = DDD.AddMonths(+1).AddDays(-1);
                集計期間From = YYY;
                集計期間To   = DDD;
            }
        }