Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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>();
        }
Exemplo n.º 4
0
        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>();
        }