public ViewModelLocator() { ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); SimpleIoc.Default.Register <MainPageViewModel>(); SimpleIoc.Default.Register <AnalyticsPageViewModel>(); SimpleIoc.Default.Register <ActionRecordsPageViewModel>(); SimpleIoc.Default.Register <EventsPageViewModel>(); SimpleIoc.Default.Register <ProfilePageViewModel>(); SimpleIoc.Default.Register <LoginPageViewModel>(); SimpleIoc.Default.Register <HomePageViewModel>(); SimpleIoc.Default.Register <EventsListPageViewModel>(); SimpleIoc.Default.Register <PointsOfInterestPageViewModel>(); SimpleIoc.Default.Register <ChangePasswordPageViewModel>(); CustomNavigationService navigationPages = new CustomNavigationService(); SimpleIoc.Default.Register <INavigationService>(() => navigationPages); SimpleIoc.Default.Register <IDialogService, DialogService>(); navigationPages.Configure("MainPage", typeof(MainPage)); navigationPages.Configure("AnalyticsPage", typeof(AnalyticsPage)); navigationPages.Configure("ActionRecordsPage", typeof(ActionRecordsPage)); navigationPages.Configure("EventsPage", typeof(EventsPage)); navigationPages.Configure("ProfilePage", typeof(ProfilePage)); navigationPages.Configure("LoginPage", typeof(LoginPage)); navigationPages.Configure("HomePage", typeof(HomePage)); navigationPages.Configure("EventsListPage", typeof(EventsListPage)); navigationPages.Configure("PointsOfInterestPage", typeof(PointsOfInterestPage)); navigationPages.Configure("ChangePasswordPage", typeof(ChangePasswordPage)); }
protected async void HandleError(Exception ex) { string message = ex.Message; IsBusy = false; if (ex is HttpException) { var responseEx = ex as HttpException; switch (responseEx.StatusCode) { case HttpStatusCode.Unauthorized: { await ShowMessage("Sorry, you are not authorized. Please, log in again."); CustomNavigationService.NavigateTo(PageKeys.Login); return; } case HttpStatusCode.BadRequest: { await ShowMessage($"Sorry, something is going wrong... \r\n" + $"Status: {responseEx.StatusCode}\r\n " + $"Http Error: {responseEx.Message}"); return; } } } await ShowMessage($"Sorry, something is going wrong... \r\n" + $"Error: {ex.Message}"); return; }
public ViewModelLocator() { if (SimpleIoc.Default.IsRegistered <INavigationService>()) { return; } var navigation = new CustomNavigationService(); navigation.Configure($"{AppPages.HOME}", typeof(MainPage)); navigation.Configure($"{AppPages.TIMER}", typeof(TimerPage)); navigation.Configure($"{AppPages.INTERVAL}", typeof(IntervalPage)); navigation.Configure($"{AppPages.SETTINGS}", typeof(SettingsPage)); SimpleIoc.Default.Register <INavigationService>(() => navigation); var mapperConfig = new MapperConfiguration(config => { config.AddMaps(typeof(Helpers.MappingProfile).Assembly); config.ConstructServicesUsing(t => { //ConstructServicesUsing gets called if you used it in the //mapping profile if (t == typeof(TimerItemViewModel)) { return(SimpleIoc.Default.GetInstanceWithoutCaching(t)); } return(SimpleIoc.Default.GetInstance(t)); }); }); SimpleIoc.Default.Register(() => mapperConfig.CreateMapper()); SimpleIoc.Default.Register <IMessenger, Messenger>(); SimpleIoc.Default.Register <ITimeItDataService, TimeItDataService>(); SimpleIoc.Default.Register <ICustomDialogService, DialogService>(); SimpleIoc.Default.Register <IAppSettingsService, AppSettingsService>(); SimpleIoc.Default.Register(() => DependencyService.Get <INotificationService>()); SimpleIoc.Default.Register(() => DependencyService.Get <INotificationSoundProvider>()); SimpleIoc.Default.Register(() => DependencyService.Get <IToastNotificator>()); SimpleIoc.Default.Register(() => DependencyService.Get <ISimpleMessage>()); SimpleIoc.Default.Register(() => new TimeItDbContext()); SimpleIoc.Default.Register <MainPageViewModel>(); SimpleIoc.Default.Register <TimerPageViewModel>(); SimpleIoc.Default.Register <IntervalPageViewModel>(); SimpleIoc.Default.Register <SettingsPageViewModel>(); SimpleIoc.Default.Register <TimerItemViewModel>(); }
private void RegisterServices() { var nav = new CustomNavigationService(new NavigationService()); nav.Configure(ViewModelKeys.SETTINGS_PAGE, typeof(SettingsPage)); SimpleIoc.Default.Register <INavigationService>(() => nav); SimpleIoc.Default.Register <ICustomNavigationService>(() => nav); SimpleIoc.Default.Register <IDialogService, DialogService>(); SimpleIoc.Default.Register <ILoginService, LoginService>(); SimpleIoc.Default.Register <IQuotaService, QuotaServiceMock>(); SimpleIoc.Default.Register <INetworkService, NetworkService>(); SimpleIoc.Default.Register <YesSessionService>(); SimpleIoc.Default.Register <YesContext>(); SimpleIoc.Default.Register <NetworkChangeHandler>(); SimpleIoc.Default.Register <YesSessionUpdater>(); SimpleIoc.Default.Register <QuotaObserverManager>(); }