public FileStreamResult WeekExcel(int masterId, DateTime?weekMonday)
        {
            var masterPerson = educatorEmploymentRepository.GetEducatorMasterPersonById(masterId);

            if (masterPerson != null)
            {
                var viewModel = EducatorEventsShowModel.Build(masterPerson, weekMonday);
                return(File(
                           GetEducatorWeekExcelContentAsStream(masterPerson, viewModel, viewModel.WeekStart),
                           "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                           $"расписание преподавателя на неделю - {masterPerson.DisplayName} ({viewModel.WeekStart:dd MMMM yyyy} - {viewModel.WeekStart.AddDays(7):dd MMMM yyyy} г. на дату {DateTime.Now:dd.MM}).xlsx"));
            }
            return(null);
        }
        private Stream GetEducatorWeekExcelContentAsStream(EducatorMasterPerson masterPerson, EducatorEventsShowModel model, DateTime?weekMonday)
        {
            var eventDayModels = model.EducatorEventsDays.Select(day =>
                                                                 new EventDayModel(day.DayString, day.DayStudyEvents.Select(@event =>
                                                                                                                            new EventModel(
                                                                                                                                @event.DateTime.Time.Value,
                                                                                                                                @event.Subject,
                                                                                                                                @event.Cohort,
                                                                                                                                @event.ShowCohort,
                                                                                                                                string.Join("\n", @event.EventLocations.Select(el => el.DisplayName)),
                                                                                                                                string.Join("\n", @event.ContingentUnits.Select(cu => cu.Name))
                                                                                                                                ))));
            var stream = AppointmentsSpreadsheetsHelper.GetEducatorWeekTimetableWorkbookStream(weekMonday.Value, weekMonday.Value.AddDays(7),
                                                                                               $"{masterPerson.DisplayName}", eventDayModels);

            return(stream);
        }