public void SearchTimesheets()
        {
            var predicates = new List <Func <TimesheetSearchResult, bool> >();

            if (!string.IsNullOrEmpty(FilterTimesheets))
            {
                var data = FilterTimesheets.ToLower().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                for (var i = 0; i < data.Length; i++)
                {
                    var dataItem = data[i];
                    predicates.Add(x => (x.TaskNumber ?? string.Empty).ToLower().Contains(dataItem) || (x.Description ?? string.Empty).ToLower().Contains(dataItem));
                }
            }

            if (CalendarMode)
            {
                var startDate = CalendarStartDate;
                var endDate   = CalendarEndDate;

                var timesheets = _data.Where(x => x.StartTime.Date >= startDate && x.EndTime.Date <= endDate).Where(predicates).ToList();

                var weeks = new List <TimesheetsOverviewWeekViewModel>();

                for (var i = 0; i < TimesheetsCalendarViewModel.WeekCount; i++)
                {
                    weeks.Add(new TimesheetsOverviewWeekViewModel(TimesheetsCalendarViewModel, CalendarStartDate.AddWeeks(i), timesheets, _sessionSwitches));
                }

                TimesheetsCalendarViewModel.TimesheetsWeeks = weeks;

                if (TimesheetsDumpViewModel != null)
                {
                    TimesheetsDumpViewModel.SetCurrentWeek(weeks.Last());
                }
            }
            else
            {
                TimesheetsFiltered = _data.Where(predicates).OrderByDescending(x => x.StartTime.Date).ThenBy(x => x.StartTime).ToList();
            }
        }
        private void ToggleTimesheetsDump()
        {
            if (TimesheetsDumpViewModel == null)
            {
                //if(!CalendarMode)
                //{
                //  CalendarMode = true;
                //}

                TimesheetsDumpViewModel = new TimesheetsDumpViewModel(this);
                var window = new Window()
                {
                    Content = new TimesheetsDumpView()
                    {
                        DataContext = TimesheetsDumpViewModel
                    },
                    //SizeToContent = SizeToContent.WidthAndHeight,
                    Width   = 900,
                    Height  = 500,
                    Topmost = true,
                    Icon    = Resources.servicenow_icon16.ToBitmapImage(),
                    Title   = "ServiceNow overview"
                };
                window.Show();
                window.Closed += (s, e) => TimesheetsDumpViewModel = null;

                //TimesheetsDumpViewModel = new TimesheetsDumpViewModel(this);
                //CalendarStartDate = CalendarStartDate.AddWeeks(2);
                SearchTimesheets();
            }
            //else
            //{
            //    TimesheetsDumpViewModel = null;
            //    CalendarStartDate = CalendarStartDate.AddWeeks(-2);
            //    SearchTimesheets();
            //}
        }