public WorkCalendarDayControl() { InitializeComponent(); // Параметры цветов по умолчанию // CLR говорит о исключениях при инициализации цвета поэтому так => try { InitializeColors(); } catch (NullReferenceException ex) { MessageBox.Show(ex.ToString()); } // Шрифты по умолчанию _font = base.Font; #if DEBUG _calendarDay = new CalendarDay(DateTime.Now); _calendarDay.ChangeCalendarDayAttribute(WorkDayAttribute.ShortDay); _calendarDay.CalendarDayComment = "Test comment"; #endif //this.BorderStyle = BorderStyle.FixedSingle; //this.BackColor = Color.BurlyWood; }
/// <summary> /// получение аттрибутов, расшифровки и комментариев из календаря по умолчанию /// </summary> /// <param name="date">Дата</param> /// <param name="calendarDay">Ссылка на объект календарного дня</param> public static void GetCalendarDayDescriptionAndAttribute(DateTime date, ref CalendarDay calendarDay) { // Преобразуем дату в строку без года var str = date.ToString("dd") + "." + date.ToString("MM"); // получаем календарь var dic = OrdinaryCalendar.GetCalendar(); // проверяем на наличие в календаре текущей даты if (!dic.ContainsKey(str)) return; // если она есть, меняеем аттрибуты calendarDay.ChangeCalendarDayAttribute(WorkDayAttribute.UnWorkDay); // описание calendarDay.ChangeCaledarDayDescription(CalendarDayDescription.HollyDay); string value; dic.TryGetValue(str, out value); // и комментарий calendarDay.CalendarDayComment = value; }
/// <summary> /// Изменяет аттрибуты календарного дня /// </summary> /// <param name="calendarDayDescription">Расшифровка календарного дня</param> /// <param name="calendarWorkDayAttribute">Аттрибуты календарного дня</param> /// <param name="calendarDayComment">Комментарий</param> /// <param name="calendarDay">структура, календарный день, переданная по ссылке</param> /// <param name="callBackMetod">Метод, запускаемый при изменнени аттрибутов календарного дня</param> public static void Change(CalendarDayDescription calendarDayDescription, WorkDayAttribute calendarWorkDayAttribute, string calendarDayComment, ref CalendarDay calendarDay, CallBack callBackMetod) { calendarDay.ChangeCalendarDayAttribute(calendarWorkDayAttribute); calendarDay.ChangeCaledarDayDescription(calendarDayDescription); calendarDay.CalendarDayComment = calendarDayComment; // Если указан делегат, то выполняем его if (callBackMetod != null) callBackMetod.Invoke(); }
/// <summary> /// Конструктор /// </summary> /// <param name="calendarDay">Календарный день</param> public WorkCalendarDayDataEventArgs(CalendarDay calendarDay) { CalendarDay = calendarDay; }
public void GetCalendarDayDescriptionAndAttributeTest() { var a1 = new CalendarDay(DateTime.Now); HollydaysInfo.GetCalendarDayDescriptionAndAttribute(new DateTime(DateTime.Now.Year, 01, 01), ref a1); Assert.AreEqual<CalendarDay>(a1, new CalendarDay(new DateTime(DateTime.Now.Year, 01, 01))); }
public WorkCalendarDayControl(DateTime date) : this() { _calendarDay = new CalendarDay(date); }