/// <summary> /// 日付をリストにするクラス /// </summary> /// <param name="entity">Entityクラス</param> /// <param name="data">Dataクラス</param> /// <param name="col">横の位置</param> /// <param name="row">縦の位置</param> /// <param name="option">Optionクラス</param> private void DaysCreate(CalenderCreateEntity entity, CalenderData data, int col, int row, Option option) { var startPoint = col; for (var i = 0; i < data.CalenderLastDay; i++) { this.calenderDay = new CalenderDay(); this.DayCreate(this.calenderDay, i, col, row); // 曜日の色を変える処理 this.DateColorChange(col, this.calenderDay); // 当日かどうかの判断 if (option.IsTodayColorChange && int.Parse(this.calenderDay.Day) == DateTime.Now.Day && data.Date.Year == DateTime.Now.Year && data.Date.Month == DateTime.Now.Month) { this.calenderDay.IsToday = true; } entity.CalenderDays.Add(this.calenderDay); col++; // Gridが6*7の為 if (col > 6) { row++; col = 0; } } // デザイン用にスペースを作る処理 必ず6*7で作る // 最上段のデザイン for (var x = 0; x < 7; x++) { this.calenderDay = new CalenderDay() { Col = x, Row = 0, }; entity.CalenderDays.Add(this.calenderDay); } // LastDayのRowから最下段までのデザイン for (int y = row; y < 6; y++) { for (int x = 0; x < 7; x++) { this.calenderDay = new CalenderDay() { Col = x, Row = y, }; entity.CalenderDays.Add(this.calenderDay); } col = 0; } }
/// <summary> /// 曜日の色を変更するメソッド /// </summary> /// <param name="col">横の位置</param> /// <param name="day">Dayクラス</param> private void DateColorChange(int col, CalenderDay day) { // 日曜日か土曜日かの判断 if (col == this.sunColorNumber) { day.ForeColor = (DateColor)3; } else if (col == this.satColorNumber) { day.ForeColor = (DateColor)2; } }
/// <summary> /// 日付をクラスに追加するメソッド /// </summary> /// <param name="day">Dayクラス</param> /// <param name="today">日付</param> /// <param name="col">横の位置</param> /// <param name="row">縦の位置</param> private void DayCreate(CalenderDay day, int today, int col, int row) { day.Day = (today + 1).ToString(); day.Row = row; day.Col = col; }