Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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;
                }
                }
            }
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        /// <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();
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
 /// <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);
 }
Ejemplo n.º 10
0
        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;
            }
        }
Ejemplo n.º 11
0
 private void worker_calendar_MouseLeaveDayTop(object sender, CalendarDayTopEventArgs e)
 {
     dayHeaderTooltip.Hide(e.CalendarDayTop.Calendar);
     _tooltipShowing = null;
 }
Ejemplo n.º 12
0
 /// <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);
     }
 }