public DayViewModel([NotNull] Day dayData, WeekType weekType, int parity, [NotNull] LessonMenuItemsFactory menuItemsFactory, bool isTeacher, int holderId, NavigationFlow navigationFlow, [CanBeNull] Group group) { if (dayData == null) { throw new ArgumentNullException("dayData"); } if (menuItemsFactory == null) { throw new ArgumentNullException("menuItemsFactory"); } _dayData = dayData; _parity = parity; _isTeacher = isTeacher; _holderId = holderId; _navigationFlow = navigationFlow; _group = @group; _date = SetUpDayName(weekType); NavigationFlow = navigationFlow; if (_dayData.Lessons != null) { Lessons = new ObservableCollection <LessonViewModel>( FilterLessons(_dayData.Lessons, menuItemsFactory)); } else { Lessons = new ObservableCollection <LessonViewModel>(); } }
public static BaseViewModel GetFacultiesPageViewModel(NavigationFlow navigationFlow) { var vm = Container.Resolve <FacultiesPageViewModel>(); vm.Initialize(navigationFlow); return(vm); }
public void PublishTimtableNotFoundEvent([CanBeNull] NavigationFlow navigationFlow, Group group = null) { if (navigationFlow == null) { PublishEvent(FlurryEvents.TimetableNotFound); return; } var parameters = new List <EventParameter> { new EventParameter("University_name", navigationFlow.UniversityName), new EventParameter("University_id", navigationFlow.UniversityId.ToString(CultureInfo.InvariantCulture)), }; if (navigationFlow.FacultyId != 0) { parameters.Add(new EventParameter("Faculty_id", navigationFlow.FacultyId.ToString(CultureInfo.InvariantCulture))); parameters.Add(new EventParameter("Faculty_name", navigationFlow.FacultyName)); } if (group != null) { parameters.Add(new EventParameter("Group_id", group.Id.ToString(CultureInfo.InvariantCulture))); parameters.Add(new EventParameter("Group_name", group.GroupName)); } PublishEvent(FlurryEvents.TimetableNotFound, parameters.ToArray()); }
public LessonViewModel([NotNull] Lesson lesson, [NotNull] LessonMenuItemsFactory menuItemsFactory, DateTime date, NavigationFlow navigationFlow, [CanBeNull] Group group) { _lesson = lesson; _date = date; _navigationFlow = navigationFlow; _group = group; _menuItemsFactory = menuItemsFactory; }
public AbstractMenuItem CreateUpdateLessonsDetails(NavigationFlow navigationFlow, [CanBeNull] Group group) { var changeLessonCommand = _commandFactory.GetUpdateLessonCommand(navigationFlow, group); return(new AbstractMenuItem { Command = changeLessonCommand, Header = changeLessonCommand.Title }); }
public App() { InitializeComponent(); var viewModel = new MainPageViewModel(); var page = new MainPage(); page.BindingContext = viewModel; MainPage = new NavigationPage(page); _navigationFlow = new NavigationFlow(MainPage.Navigation, viewModel); }
private NavigationFlow CreateNavigationFlowForFlurry() { var navigationFlow = new NavigationFlow { UniversityId = _university.Id, UniversityName = _university.Name, FacultyId = _facultyId, IsTeacher = _isTeacher }; if (_faculty != null) { navigationFlow.FacultyName = _faculty.Title; } return(navigationFlow); }
public WeekViewModel(IEnumerable <Day> days, int weekNumber, [NotNull] DayViewModelFactory dayViewModelFactory, WeekType type, NavigationFlow navigationFlow, [CanBeNull] Group group) { if (dayViewModelFactory == null) { throw new ArgumentNullException("dayViewModelFactory"); } var parity = weekNumber % 2; WeekNumber = weekNumber; Days = new ObservableCollection <DayViewModel>( dayViewModelFactory.CreateList(days, navigationFlow, @group, type, parity) .Where(d => d.Lessons.Any())); }
public UpdateLessonCommand([NotNull] FlurryPublisher flurryPublisher, [NotNull] IUiStringsProviders stringsProviders, NavigationFlow navigationFlow, [CanBeNull] Group group) { if (flurryPublisher == null) { throw new ArgumentNullException("flurryPublisher"); } if (stringsProviders == null) { throw new ArgumentNullException("stringsProviders"); } _flurryPublisher = flurryPublisher; _stringsProviders = stringsProviders; _navigationFlow = navigationFlow; _group = @group; }
public override Uri MapUri(Uri uri) { Debug.WriteLine("UriMapper:MapUri for {0}", uri.OriginalString); if (!uri.OriginalString.Contains("/View/EntryPoint.xaml")) { return(uri); } if (_applicationSettings.Me.DefaultGroup != null || _applicationSettings.Me.Teacher != null) { var isTeacher = _applicationSettings.Me.Teacher != null; var navigationParameter = new LessonsNavigationParameter { Id = isTeacher ? _applicationSettings.Me.Teacher.Id : _applicationSettings.Me.DefaultGroup.Id, IsTeacher = isTeacher, UniversityId = _applicationSettings.Me.University.Id, FacultyId = _applicationSettings.Me.Faculty.Id }; return(NavigationService.GetUri <NewLessonsPage, LessonsNavigationParameter>(navigationParameter)); } var navigationFlow = new NavigationFlow(); if (_applicationSettings.Me.Faculty != null) { navigationFlow.FacultyId = _applicationSettings.Me.Faculty.Id; navigationFlow.UniversityId = _applicationSettings.Me.University.Id; navigationFlow.UniversityName = _applicationSettings.Me.University.ShortName; navigationFlow.FacultyName = _applicationSettings.Me.Faculty.Title; return(NavigationService.GetUri <NewGroupsPage, NavigationFlow>(navigationFlow)); } if (_applicationSettings.Me.University != null) { navigationFlow.UniversityId = _applicationSettings.Me.University.Id; navigationFlow.UniversityName = _applicationSettings.Me.University.ShortName; return(NavigationService.GetUri <NewFacultiesPage, NavigationFlow>(navigationFlow)); } if (_applicationSettings.Me.Role != UserRole.None) { return(NavigationService.GetUri <NewUniversitiesPage, Reason>(Reason.Registration)); } return(NavigationService.GetUri <FirstPage>()); }
public ITitledCommand GetUpdateLessonCommand(NavigationFlow navigationFlow, [CanBeNull] Group group) { return(new UpdateLessonCommand(_flurryPublisher, _stringsProviders, navigationFlow, group)); }
public WeekViewModel Create([CanBeNull] IEnumerable <Day> days, int weekNumber, WeekType weekType, NavigationFlow navigationFlow, [CanBeNull] Group group) { return(new WeekViewModel(days, weekNumber, _dayViewModelFactory, weekType, navigationFlow, group)); }
public IEnumerable <DayViewModel> CreateList([CanBeNull] IEnumerable <Day> models, NavigationFlow navigationFlow, Group group, WeekType type, int parity) { if (models == null) { return(Enumerable.Empty <DayViewModel>()); } return(models.Select( day => new DayViewModel(day, type, parity, _menuItemsFactory, _isTeacher, _holderId, navigationFlow, group))); }