public LanguagesLoader(Location location, PersistenceService persistenceService, Func<Priority, INetworkService> networkServiceFactory, Priority priority = Priority.Background) { _location = location; _persistenceService = persistenceService; _networkService = networkServiceFactory(priority); }
public MainPageViewModel(IAnalyticsService analytics, PagesViewModel pagesViewModel, EventPagesViewModel eventPagesViewModel, NavigationViewModel navigationViewModel, TabViewModel tabViewModel, IDialogProvider dialogProvider, INavigator navigator, Func<IEnumerable<PageViewModel>, SearchViewModel> pageSearchViewModelFactory, PersistenceService persistence) : base (analytics) { Title = "Information"; TabViewModel = tabViewModel; TabViewModel.PagesViewModel = pagesViewModel; TabViewModel.EventPagesViewModel = eventPagesViewModel; NavigationViewModel = navigationViewModel; NavigationViewModel.PropertyChanged += delegate(object sender, PropertyChangedEventArgs args) { if (args.PropertyName.Equals("SelectedPage")) { //_pagesViewModel.SelectedPage = NavigationViewModel.SelectedPage; //TODO current workaround if (NavigationViewModel.SelectedPage != null && NavigationViewModel.SelectedPage.ShowPageCommand.CanExecute(null)) { NavigationViewModel.SelectedPage.ShowPageCommand.Execute(null); NavigationViewModel.IsPresented = false; // close master page, this should ideally be done within the NavigationViewModel itself (as in the Disclaimer button, the navigation closes itself as well) - Note for when this workaround is properly solved } } }; _pagesViewModel = pagesViewModel; _pagesViewModel.PropertyChanged += delegate(object sender, PropertyChangedEventArgs args) { if (args.PropertyName.Equals("LoadedPages")) { var pages = _pagesViewModel.LoadedPages; var key = Models.Page.GenerateKey("0", _location, _language); NavigationViewModel.Pages = new ObservableCollection<PageViewModel>(pages.Where(x => x.Page.ParentId == key) .OrderBy(x => x.Page.Order)); } }; _dialogProvider = dialogProvider; _navigator = navigator; _pageSearchViewModelFactory = pageSearchViewModelFactory; _persistence = persistence; }
private PersistenceService CreatePersistenceService() { var persistence = new PersistenceService(new SQLitePlatformIOS()); persistence.Init(); return persistence; }
public LocationsLoader(PersistenceService persistenceService, Func<Priority, INetworkService> networkServiceFactory, Priority priority = Priority.Background) { _persistenceService = persistenceService; _networkService = networkServiceFactory(priority); }