private void otherToolStripMenuItem1_Click(object sender, EventArgs e) { DayCountFrm frm = new DayCountFrm(); if (frm.ShowDialog() != DialogResult.OK) { return; } ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; if (start_day == null || end_day == null) { return; } if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } AddSickDay(start_day.Date, frm.DayCount, frm.ExcludeWeekends); }
private void removeSickDayToolStripMenuItem_Click(object sender, EventArgs e) { ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; if (start_day == null || end_day == null) { return; } if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } IEnumerable <CalendarDay> days = worker_calendar.Days.Where(d => d.Date >= start_day.Date && d.Date <= end_day.Date); Worker.SickDays.RemoveDays(days.ElementAt(0).Date, days.Count()); Cursor = Cursors.WaitCursor; Worker.MarkForSave = true; Worker.Save(); Cursor = Cursors.Default; Refresh(); }
private void worker_calendar_MouseEnterDayTop(object sender, CalendarDayTopEventArgs e) { //Console.WriteLine("Over Day Top"); if (e.CalendarDayTop.Day.Image != null && e.CalendarDayTop.Day.Image.Tag != null) { switch (e.CalendarDayTop.Day.Image.Tag as string) { case "dayoff": { Point p = e.CalendarDayTop.Calendar.PointToClient(MousePosition); if (_tooltipShowing == e.CalendarDayTop) { // dayHeaderTooltip. } else { _tooltipShowing = e.CalendarDayTop; dayHeaderTooltip.IsBalloon = true; dayHeaderTooltip.Hide(e.CalendarDayTop.Calendar); dayHeaderTooltip.Show("day off", e.CalendarDayTop.Calendar, e.CalendarDayTop.Bounds.Left + 10, e.CalendarDayTop.Bounds.Top - (e.CalendarDayTop.Bounds.Height / 2) - 10); } break; } } } }
private void removeTrainingToolStripMenuItem_Click(object sender, EventArgs e) { ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; CalendarTimeScaleUnit start_timeunit = start as CalendarTimeScaleUnit; CalendarTimeScaleUnit end_timeunit = end as CalendarTimeScaleUnit; if (start_day == null && end_day == null && start_timeunit == null && end_timeunit == null) { return; } else if (start_day != null && end_day != null) { if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } IEnumerable <CalendarDay> days = worker_calendar.Days.Where(d => d.Date >= start_day.Date && d.Date <= end_day.Date); Worker.Training.RemoveDays(days.ElementAt(0).Date, days.Count()); } else if (start_timeunit != null && end_timeunit != null && !start_timeunit.Day.Disabled) { //timescaleunit clicked start_day = start_timeunit.Day.DayTop; end_day = end_timeunit.Day.DayTop; IEnumerable <CalendarDay> daysSelected = worker_calendar.Days.Where(d => d.Date >= start_day.Date && d.Date <= end_day.Date); List <CalendarTimeScaleUnit> timeunitSelected = new List <CalendarTimeScaleUnit>(); foreach (CalendarDay day in daysSelected) { timeunitSelected.AddRange(day.TimeUnits.Where(t => t.Day == day && (t.Date >= start_timeunit.Date && t.Date <= end_timeunit.Date))); } foreach (CalendarTimeScaleUnit unit in timeunitSelected) { Worker.Training.RemoveTime(unit.Date, 60); } } Cursor = Cursors.WaitCursor; Worker.MarkForSave = true; Worker.Save(); Cursor = Cursors.Default; Refresh(); }
/// <summary> /// Creates a new Day /// </summary> /// <param name="calendar">Calendar this day belongs to</param> /// <param name="date">Date of the day</param> /// <param name="index">Index of the day on the current calendar's view</param> internal CalendarDay(Calendar calendar, DateTime date, int index) : base(calendar) { _containedItems = new List<CalendarItem>(); _calendar = calendar; _dayTop = new CalendarDayTop(this); _date = date; _index = index; UpdateUnits(); }
private void selectionToolStripMenuItem_Click_1(object sender, EventArgs e) { ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; CalendarTimeScaleUnit start_timeunit = start as CalendarTimeScaleUnit; CalendarTimeScaleUnit end_timeunit = end as CalendarTimeScaleUnit; if (start_day == null && end_day == null && start_timeunit == null && end_timeunit == null) { return; } else if (start_day != null && end_day != null) { //whole day selection if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } AddTraining(start_day.Date, (int)(end_day.Date - start_day.Date).TotalDays + 1); } else if (start_timeunit != null && end_timeunit != null) { //time unit selection if (start_timeunit.Date > end_timeunit.Date) { //swap em ;) CalendarTimeScaleUnit tmp = start_timeunit; start_timeunit = end_timeunit; end_timeunit = tmp; } AddTraining(start_timeunit.Date, 0, (int)(end_timeunit.Date - start_timeunit.Date).TotalMinutes + 60); } }
private void weeksToolStripMenuItem1_Click(object sender, EventArgs e) { ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; if (start_day == null || end_day == null) { return; } if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } AddSickDay(start_day.Date, 14); }
private void selectionToolStripMenuItem_Click(object sender, EventArgs e) { ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; if (start_day == null || end_day == null) { return; } if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } AddHoliday(start_day.Date, (int)(end_day.Date - start_day.Date).TotalDays + 1); }
/// <summary> /// Compares both <see cref="CalendarDayTop"/> items by Date /// </summary> /// <param name="top1"></param> /// <param name="top2"></param> /// <returns></returns> private static int CompareTops(CalendarDayTop top1, CalendarDayTop top2) { return top1.Date.CompareTo(top2.Date); }
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { //clear everything first setAsHolidayToolStripMenuItem.Visible = false; removeHolidayToolStripMenuItem.Visible = false; setAsSickDayToolStripMenuItem.Visible = false; removeSickDayToolStripMenuItem.Visible = false; setAsTrainingToolStripMenuItem.Visible = false; removeTrainingToolStripMenuItem.Visible = false; oneWeekToolStripMenuItem.Visible = false; twoWeeksToolStripMenuItem.Visible = false; otherToolStripMenuItem2.Visible = false; unassignToolStripMenuItem.Visible = false; if (SelectedItems.Count > 0) { unassignToolStripMenuItem.Visible = true; return; } ICalendarSelectableElement start = worker_calendar.SelectedElementStart; ICalendarSelectableElement end = worker_calendar.SelectedElementEnd; CalendarDayTop start_day = start as CalendarDayTop; CalendarDayTop end_day = end as CalendarDayTop; CalendarTimeScaleUnit start_timeunit = start as CalendarTimeScaleUnit; CalendarTimeScaleUnit end_timeunit = end as CalendarTimeScaleUnit; oneWeekToolStripMenuItem.Visible = true; twoWeeksToolStripMenuItem.Visible = true; otherToolStripMenuItem2.Visible = true; if (start_day != null && end_day != null) { //day top clicked if (start_day.Date > end_day.Date) { //swap em ;) CalendarDayTop tmp = start_day; start_day = end_day; end_day = tmp; } if (start_day == null || end_day == null) { //only allow training to be set if we arent selecting the whole day removeTrainingToolStripMenuItem.Visible = true; setAsTrainingToolStripMenuItem.Visible = true; } else { IEnumerable <CalendarDay> daysSelected = worker_calendar.Days.Where(d => d.Date >= start_day.Date && d.Date <= end_day.Date); int holidayCount = daysSelected.Where(d => d.Disabled && d.Image != null && d.Image.Tag.ToString() == "holiday").Count(); int sickCount = daysSelected.Where(d => d.Disabled && d.Image != null && d.Image.Tag.ToString() == "sick").Count(); int trainingCount = daysSelected.Where(d => d.Disabled && d.Image != null && d.Image.Tag.ToString() == "training").Count(); if (holidayCount < daysSelected.Count()) { setAsHolidayToolStripMenuItem.Visible = true; //not all are holiday } if (sickCount < daysSelected.Count()) { setAsSickDayToolStripMenuItem.Visible = true; //not all are sick } if (trainingCount < daysSelected.Count()) { setAsTrainingToolStripMenuItem.Visible = true; //not all are training } if (holidayCount > 0) { removeHolidayToolStripMenuItem.Visible = true; } if (sickCount > 0) { removeSickDayToolStripMenuItem.Visible = true; } if (trainingCount > 0) { removeTrainingToolStripMenuItem.Visible = true; } } } else if (start_timeunit != null && end_timeunit != null && !start_timeunit.Day.Disabled) { //timescaleunit clicked //dont need these for individual hour training oneWeekToolStripMenuItem.Visible = false; twoWeeksToolStripMenuItem.Visible = false; otherToolStripMenuItem2.Visible = false; start_day = start_timeunit.Day.DayTop; end_day = end_timeunit.Day.DayTop; IEnumerable <CalendarDay> daysSelected = worker_calendar.Days.Where(d => d.Date >= start_day.Date && d.Date <= end_day.Date); List <CalendarTimeScaleUnit> timeunitSelected = new List <CalendarTimeScaleUnit>(); foreach (CalendarDay day in daysSelected) { timeunitSelected.AddRange(day.TimeUnits.Where(t => t.Day == day && (t.Date >= start_timeunit.Date && t.Date <= end_timeunit.Date))); } int trainingCount = timeunitSelected.Where(t => t.Disabled && t.Image != null && t.Image.Tag.ToString() == "training").Count(); if (trainingCount < timeunitSelected.Count()) { setAsTrainingToolStripMenuItem.Visible = true; //not all are training } if (trainingCount > 0) { removeTrainingToolStripMenuItem.Visible = true; } } else { e.Cancel = true; return; } }
private void worker_calendar_MouseLeaveDayTop(object sender, CalendarDayTopEventArgs e) { dayHeaderTooltip.Hide(e.CalendarDayTop.Calendar); _tooltipShowing = null; }
/// <summary> /// Adds the specified <see cref="CalendarDayTop"/> as a passing one /// </summary> /// <param name="top"></param> internal void AddTopPassing(CalendarDayTop top) { if (!TopsPassing.Contains(top)) { TopsPassing.Add(top); } }