/// <summary> /// Получает расписание. /// </summary> /// <returns>Календарь.</returns> public CalendarModel GetSchedule() { var queryResult = GetCalendarQuery.Execute(null); var calendarModel = queryResult.IsSuccessful ? Mapper.Map <CalendarModel>(queryResult.Data) : new CalendarModel(); return(calendarModel); }
private CalendarPageViewModel GetSchedule(CalendarSettingsModel settingsModel) { var queryModel = new GetCalendarQueryModel { ItemHashes = settingsModel.Items, HiddenEvents = _mapper.Map <List <HidableEventEntity> >(settingsModel.HiddenEvents).ToArray(), ShowWindows = settingsModel.ShowWindows, CountOfWeeksAfterCurrent = settingsModel.CountOfWeeksAfterCurrent }; var queryResult = _getCalendarQuery.Execute(queryModel); var calendarModel = queryResult.IsSuccessful ? _mapper.Map <CalendarPageViewModel>(queryResult.Data) : new CalendarPageViewModel(); if (settingsModel.Items.Length > calendarModel.Legend.Count) { calendarModel.ErrorMessage = "Сайт расписания ТПУ не вернул расписание для одной или нескольких групп. " + "Подождите 30 секунд или пару минут и повторите попытку..."; } var newMatrix = new CalendarDayModel[2, 6]; for (var i = 0; i < 2; i++) { for (var j = 0; j < 6; j++) { newMatrix[i, j] = calendarModel.Matrix[i, j]; newMatrix[i, j].Events = newMatrix[i, j].Events .GroupBy(x => (x.Date, x.Type, x.Name, x.Color)) .Select(gr => { var model = gr.First(); model.Summary = gr.Select(x => (x.Place, x.Teacher)).ToArray(); return(model); }) .OrderBy(x => x.Date) .ThenBy(x => x.Color.ToArgb()) .ToList(); } } calendarModel.Matrix = newMatrix; return(calendarModel); }
private CalendarPageViewModel GetSchedule(CalendarSettingsModel settingsModel) { var queryModel = new GetCalendarQueryModel { ItemHashes = settingsModel.Items, HiddenEvents = _mapper.Map <List <HidableEventEntity> >(settingsModel.HiddenEvents).ToArray(), ShowWindows = settingsModel.ShowWindows, CountOfWeeksAfterCurrent = settingsModel.CountOfWeeksAfterCurrent }; var queryResult = _getCalendarQuery.Execute(queryModel); var calendarModel = queryResult.IsSuccessful ? _mapper.Map <CalendarPageViewModel>(queryResult.Data) : new CalendarPageViewModel(); return(calendarModel); }