Exemplo n.º 1
0
        /// <summary>
        /// entrypoint into the Xamarin forms application
        /// a master-detail page is created and the plugins are added as subpages
        /// at the end it initializes the main page
        /// </summary>
        public App(string pluginName)
        {
            //register PluginCollector in IoC container for constructorinjection
            FreshIOC.Container.Register <IPluginCollector, PluginCollector>();
            FreshIOC.Container.Register <IUserDialogs> (UserDialogs.Instance);
            masterDetailNav = new FreshMasterDetailNavigation();
            masterDetailNav.Init("Menu");

            //every Plugin has to be added like these
            //masterDetailNav.AddPage<MainPageModel>(PluginNames.MainPluginName, null);
            // masterDetailNav.AddPage<OverviewPluginPageModel>(PluginNames.OverviewPluginName, null);
            masterDetailNav.AddPage <MonitoringPluginPageModel>(PluginNames.MonitoringPluginName, null);
            masterDetailNav.AddPage <ReminderListPageModel>(PluginNames.ReminderPluginName, null);
            masterDetailNav.AddPage <UserProfilePageModel>(PluginNames.UserProfilePluginName, null);


            //initialises the navigation Page
            masterDetailNav.CreateMenuPage <NavigationPageModel>(null);
            masterDetailNav.Init("Plugins");
            MainPage = masterDetailNav;

            //is filled by the start via notification
            if (pluginName != null)
            {
                masterDetailNav.ChangeDetailPage(pluginName);
            }
        }
        public async void OpenDataPoints(int index, DataPoints point)
        {
            FreshMasterDetailNavigation nav = App.GetNavigationContainer();

            switch (point)
            {
            case DataPoints.BloodSugar:


                await nav.PushPage(new AddBloodSugarPage(pluginCollector, SettingsModel.BloodSugarDataPoints[index]), null, false, true);

                //CoreMethods.PushPageModel<AddBloodSugarPageModel>(null, true);
                break;

            case DataPoints.Meal:
                await nav.PushPage(new AddMealPage(pluginCollector, SettingsModel.MealDataPoints[index]), null, false, true);

                break;

            case DataPoints.Medicine:
                await nav.PushPage(new AddMedicinePage(pluginCollector, SettingsModel.MedicineDataPoints[index]), null, false, true);

                break;
            }
        }