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(); //} }