public App() { InitializeComponent(); Init(); AppSettings.ReloadSetting(); AssetsExtension.InitAssetsExtension("AppResources.Assets", typeof(App).GetTypeInfo().Assembly); ImageResourceExtension.InitImageResourceExtension("AppResources.Assets", typeof(App).GetTypeInfo().Assembly); TranslateExtension.InitTranslateExtension("AppResources.Localization.Resources", CultureInfo.CurrentCulture, typeof(App).GetTypeInfo().Assembly); RegisterDependency(); if (Settings.LoggedIn) { MainPage = ViewModelResolver.ResolveViewModel <ViewModels.SyncViewModel>(); } else { MainPage = new NavigationContainer(ViewModelResolver.ResolveViewModel <ViewModels.Login.LoginViewModel>()) { BarBackgroundColor = Color.FromHex("#2196F3"), BarTextColor = Color.White }; } }
private List <SearchFilterModel> MapSearchFilter(NavigationContainer navigation) { List <SearchFilterModel> result = new List <SearchFilterModel>(); if (navigation != null && navigation.NavigationItems != null) { foreach (var navItem in navigation.NavigationItems) { //如果没有筛选项或数量过少就丢弃 if (navItem.SubNavigationItems == null || navItem.SubNavigationItems.Count == 0) { continue; } SearchFilterModel filterModel = new SearchFilterModel(); filterModel.ID = (int)navItem.ItemType; filterModel.Name = navItem.Name; foreach (var subItem in navItem.SubNavigationItems) { SearchFilterItemModel itemModel = new SearchFilterItemModel(); itemModel.EnId = subItem.Value; itemModel.Name = subItem.Name; itemModel.ProductCount = subItem.NumberOfItem; filterModel.Items.Add(itemModel); } result.Add(filterModel); } } return(result); }
public App() { Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("OTkzNTJAMzEzNzJlMzEyZTMwbHYrZmduam1yNHRhQUhjSlpPSUZJTmpvZXc4b0VpZVdQNzNWcFNaamQxaz0="); InitializeComponent(); Init(); AppSettings.ReloadSetting(); AssetsExtension.InitAssetsExtension("AppResources.Assets", typeof(App).GetTypeInfo().Assembly); ImageResourceExtension.InitImageResourceExtension("AppResources.Assets", typeof(App).GetTypeInfo().Assembly); TranslateExtension.InitTranslateExtension("AppResources.Localization.Resources", CultureInfo.CurrentCulture, typeof(App).GetTypeInfo().Assembly); RegisterDependency(); if (Settings.LoggedIn) { MainPage = ViewModelResolver.ResolveViewModel <ViewModels.SyncViewModel>(); } else { MainPage = new NavigationContainer(ViewModelResolver.ResolveViewModel <ViewModels.Login.LoginViewModel>()) { BarBackgroundColor = Color.FromHex("#2196F3"), BarTextColor = Color.White }; } }
private void btnGiv_Click(object sender, RoutedEventArgs e) { NavigationContainer.Navigate(GPage); btnHome.BorderThickness = new Thickness(0, 0, 0, 0); btnGs.BorderThickness = new Thickness(0, 0, 0, 0); btnGiv.BorderThickness = new Thickness(4, 0, 0, 0); btnCodes.BorderThickness = new Thickness(0, 0, 0, 0); }
public MainPage() { InitializeComponent(); Detail = new NavigationContainer(ViewModelResolver.ResolveViewModel <ViewModels.Interventions.InterventionsViewModel>()) { BarTextColor = Color.FromHex("#FFFFFF") }; lastPage = (int)MenuItemType.Interventions; }
private void StartSetup() { if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/pengus.db")) { SQLiteConnection.CreateFile(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/pengus.db"); DAL.SetupTable(); } NavigationContainer.Navigate(HPage); btnHome.BorderThickness = new Thickness(4, 0, 0, 0); btnGs.BorderThickness = new Thickness(0, 0, 0, 0); btnGiv.BorderThickness = new Thickness(0, 0, 0, 0); btnCodes.BorderThickness = new Thickness(0, 0, 0, 0); GPage.UpdateGiveaways(); CPage.UpdateCodes(); LoadSettings(); }
public async Task NavigateFromMenu(int id) { if (lastPage == id) { IsPresented = false; return; } try { Page newPage = null; switch (id) { case (int)MenuItemType.Interventions: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Interventions.InterventionsViewModel>(); break; case (int)MenuItemType.InterventionsNotAssigned: newPage = ViewModelResolver.ResolveViewModel <ViewModels.InterventionsNotAssigned.InterventionsNotAssignedViewModel>(); break; case (int)MenuItemType.Quote: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Quotes.QuotesViewModel>(); break; case (int)MenuItemType.Invoice: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Invoices.InvoicesViewModel>(); break; case (int)MenuItemType.Issue: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Issues.IssuesViewModel>(); break; case (int)MenuItemType.Messages: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Messages.MessagesViewModel>(); break; case (int)MenuItemType.Customers: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Customers.CustomersViewModel>(); break; case (int)MenuItemType.Addresses: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Addresses.AddressesViewModel>(); break; case (int)MenuItemType.Equipment: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Equipments.EquipmentsViewModel>(); break; case (int)MenuItemType.Products: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Products.ProductsViewModel>(); break; case (int)MenuItemType.Tracking: newPage = ViewModelResolver.ResolveViewModel <ViewModels.Tracking.TrackingViewModel>(); break; case (int)MenuItemType.Settings: newPage = ViewModelResolver.ResolveViewModel <ViewModels.SystemSettings.SettingsViewModel>(); break; case (int)MenuItemType.About: newPage = ViewModelResolver.ResolveViewModel <ViewModels.About.AboutViewModel>(); break; case (int)MenuItemType.LogOut: await LogOut(); break; } if (newPage != null) { if (Detail is NavigationPage) { ((NavigationPage)Detail).NotifyAllChildrenPopped(); } if (Detail is INavigationService) { ((INavigationService)Detail).NotifyChildrenPageWasPopped(); } Detail = new NavigationContainer(newPage) { BarBackgroundColor = Color.FromHex("#2196F3"), BarTextColor = Color.White }; lastPage = id; if (Device.RuntimePlatform == Device.Android) { await Task.Delay(100); } IsPresented = false; } } catch (Exception ex) { await DisplayAlert(TranslateExtension.GetValue("alert_title_error"), ex.GetBaseException().Message, TranslateExtension.GetValue("alert_message_ok")); } }
private NavigationContainer GetNavigation(SolrQueryResults <ProductSearchRecord> solrQueryResult, ProductSearchCondition condition) { var brandFacets = solrQueryResult.FacetFields["p_brandname_facet"]; var originFacets = solrQueryResult.FacetFields["p_originName_facet"]; var propertyValueFacets = solrQueryResult.FacetFields["p_propertyvalue_facet"]; var categoryName3Facets = solrQueryResult.FacetFields["p_categoryname3_facet"]; var priceFacet = solrQueryResult.FacetFields["p_price_n"]; var storeCategoryFacets = solrQueryResult.FacetFields["p_storecategory_facet"]; NavigationContainer NaviRet = new NavigationContainer(); NaviRet.NavigationItems = new List <NavigationItem>(); //当前页面N值 string NValue = string.Empty; if (condition.NValueList != null && condition.NValueList.Count > 0) { foreach (string str in condition.NValueList) { NValue += str + ' '; } } #region 分类 KeyValuePair <NavigationItemType, string> NavSubcategory = new KeyValuePair <NavigationItemType, string>(NavigationItemType.SubCategory, "平台类别"); NavigationItem NavSubcategoryItem = new NavigationItem(); NavSubcategoryItem.SubNavigationItems = new List <NavigationItem>(); foreach (var facet in categoryName3Facets) { int num = facet.Value; string[] facetItemArray = facet.Key.Split(new string[] { "@!@" }, StringSplitOptions.RemoveEmptyEntries); bool isExists = NavSubcategoryItem.SubNavigationItems.Exists(delegate(NavigationItem eachItem) { return(eachItem.Value == facetItemArray[1].ToString()); }); if (isExists) { continue; } NavSubcategoryItem.ItemType = NavSubcategory.Key; NavSubcategoryItem.Name = NavSubcategory.Value; NavigationItem subNavItem = new NavigationItem(); subNavItem.Name = facetItemArray[0].ToString(); subNavItem.NumberOfItem = num; subNavItem.Value = facetItemArray[1].ToString();//(NValue + facetItemArray[1].ToString()).Trim(); subNavItem.ItemType = NavigationItemType.SubCategory; NavSubcategoryItem.SubNavigationItems.Add(subNavItem); } NaviRet.NavigationItems.Add(NavSubcategoryItem); #endregion #region 店铺分类 NavigationItem NavStoreCateItem = new NavigationItem(); NavStoreCateItem.SubNavigationItems = new List <NavigationItem>(); KeyValuePair <NavigationItemType, string> NavStoreCate = new KeyValuePair <NavigationItemType, string>(NavigationItemType.StoreCategory, "店铺类别"); foreach (var facet in storeCategoryFacets) { int num = facet.Value; string[] facetItemArray = facet.Key.Split(new string[] { "@!@" }, StringSplitOptions.RemoveEmptyEntries); bool isExists = NavStoreCateItem.SubNavigationItems.Exists(delegate(NavigationItem eachItem) { return(eachItem.Value == facetItemArray[1].ToString()); }); if (isExists) { continue; } NavStoreCateItem.ItemType = NavStoreCate.Key; NavStoreCateItem.Name = NavStoreCate.Value; NavigationItem subNavItem = new NavigationItem(); subNavItem.Name = facetItemArray[0].ToString(); subNavItem.NumberOfItem = num; subNavItem.Value = facetItemArray[1].ToString();//(NValue + facetItemArray[1].ToString()).Trim(); subNavItem.ItemType = NavigationItemType.StoreCategory; NavStoreCateItem.SubNavigationItems.Add(subNavItem); } NaviRet.NavigationItems.Add(NavStoreCateItem); #endregion #region 品牌 NavigationItem NavBrandItem = new NavigationItem(); NavBrandItem.SubNavigationItems = new List <NavigationItem>(); KeyValuePair <NavigationItemType, string> NavBrand = new KeyValuePair <NavigationItemType, string>(NavigationItemType.Brand, "品牌"); foreach (var facet in brandFacets) { int num = facet.Value; string[] facetItemArray = facet.Key.Split(new string[] { "@!@" }, StringSplitOptions.RemoveEmptyEntries); bool isExists = NavBrandItem.SubNavigationItems.Exists(delegate(NavigationItem eachItem) { return(eachItem.Value == facetItemArray[1].ToString()); }); if (isExists) { continue; } NavBrandItem.ItemType = NavBrand.Key; NavBrandItem.Name = NavBrand.Value; NavigationItem subNavItem = new NavigationItem(); subNavItem.Name = facetItemArray[0].ToString(); subNavItem.NumberOfItem = num; subNavItem.Value = facetItemArray[1].ToString();//(NValue + facetItemArray[1].ToString()).Trim(); subNavItem.ItemType = NavigationItemType.Brand; NavBrandItem.SubNavigationItems.Add(subNavItem); } NaviRet.NavigationItems.Add(NavBrandItem); #endregion #region 价格 NavigationItem NavPriceItem = new NavigationItem(); NavPriceItem.SubNavigationItems = new List <NavigationItem>(); KeyValuePair <NavigationItemType, string> NavPrice = new KeyValuePair <NavigationItemType, string>(NavigationItemType.Price, "价格"); foreach (var facet in priceFacet) { int num = facet.Value; string facetItem = facet.Key; bool isExists = NavPriceItem.SubNavigationItems.Exists(delegate(NavigationItem eachItem) { return(eachItem.Value == facetItem); }); if (isExists) { continue; } NavPriceItem.ItemType = NavPrice.Key; NavPriceItem.Name = NavPrice.Value; NavigationItem subNavItem = new NavigationItem(); PriceRange priceRangeInfo = ProductPriceRangeConfig.PriceRangeList.Find(delegate(PriceRange eachPriceRange) { return(eachPriceRange.Key == facetItem); }); if (priceRangeInfo != null) { subNavItem.Name = priceRangeInfo.Text; } subNavItem.NumberOfItem = num; subNavItem.Value = facetItem.TrimEnd();//(NValue + facetItem.TrimEnd()).Trim(); subNavItem.ItemType = NavigationItemType.Price; NavPriceItem.SubNavigationItems.Add(subNavItem); } //价格筛选条件按照价格升序 NavPriceItem.SubNavigationItems.Sort(delegate(NavigationItem a, NavigationItem b) { return(a.Value.CompareTo(b.Value)); }); NaviRet.NavigationItems.Add(NavPriceItem); #endregion #region 产地 NavigationItem NavOriginItem = new NavigationItem(); NavOriginItem.SubNavigationItems = new List <NavigationItem>(); KeyValuePair <NavigationItemType, string> NavOrigin = new KeyValuePair <NavigationItemType, string>(NavigationItemType.Origin, "产地"); foreach (var facet in originFacets) { int num = facet.Value; string[] facetItemArray = facet.Key.Split(new string[] { "@!@" }, StringSplitOptions.RemoveEmptyEntries); bool isExists = NavOriginItem.SubNavigationItems.Exists(delegate(NavigationItem eachItem) { return(eachItem.Value == facetItemArray[1].ToString()); }); if (isExists) { continue; } NavOriginItem.ItemType = NavOrigin.Key; NavOriginItem.Name = NavOrigin.Value; NavigationItem subNavItem = new NavigationItem(); subNavItem.Name = facetItemArray[0].ToString(); subNavItem.NumberOfItem = num; subNavItem.Value = facetItemArray[1].ToString();//(NValue + facetItemArray[1].ToString()).Trim(); subNavItem.ItemType = NavigationItemType.Origin; NavOriginItem.SubNavigationItems.Add(subNavItem); } NaviRet.NavigationItems.Add(NavOriginItem); #endregion #region 产品属性 List <NavigationItem> tempNavList = new List <NavigationItem>(); foreach (var facet in propertyValueFacets) { int num = facet.Value; string[] facetItemArray = facet.Key.Split(new string[] { "@!@" }, StringSplitOptions.RemoveEmptyEntries); NavigationItem NavItem = new NavigationItem(); NavItem.Name = Utils.removePrefix(facetItemArray[0]); NavItem.Priority = Convert.ToInt32(facetItemArray[4]); NavItem.ItemType = NavigationItemType.Attribute; NavItem.SubNavigationItems = new List <NavigationItem>(); NavigationItem subNavItem = new NavigationItem(); subNavItem.Name = facetItemArray[1]; subNavItem.NumberOfItem = num; subNavItem.Value = facetItemArray[2];//(NValue + facetItemArray[2]).Trim(); subNavItem.Priority = Convert.ToInt32(facetItemArray[5]); NavigationItem tempNavItem = tempNavList.Find(delegate(NavigationItem eachItem) { return(eachItem.Name == NavItem.Name); }); if (tempNavItem == null) { NavItem.SubNavigationItems.Add(subNavItem); tempNavList.Add(NavItem); } else { var tempSubNavItem = tempNavItem.SubNavigationItems.Find(delegate(NavigationItem eachItem) { return(eachItem.Value == subNavItem.Value); }); if (tempSubNavItem != null) { tempSubNavItem.NumberOfItem += num; continue; } tempNavItem.SubNavigationItems.Add(subNavItem); } } tempNavList.Sort(delegate(NavigationItem a, NavigationItem b) { return(a.Priority.CompareTo(b.Priority)); }); foreach (NavigationItem eachNavItem in tempNavList) { eachNavItem.Name = Utils.GetEndSplitName(eachNavItem.Name); eachNavItem.SubNavigationItems.Sort(delegate(NavigationItem a, NavigationItem b) { int tmp = a.Priority.CompareTo(b.Priority); return(tmp == 0 ? b.NumberOfItem.CompareTo(a.NumberOfItem) : tmp); }); NaviRet.NavigationItems.Add(eachNavItem); } #endregion return(NaviRet); }
public async Task NavigateFromMenu(HomeMenuItemType type) { Debug.WriteLine("ITEM SELECTED"); Page selectedPage = null; switch (type) { case HomeMenuItemType.Home: selectedPage = ViewModelResolver.ResolveViewModel <HomeViewModel>(); break; case HomeMenuItemType.CheckIn: selectedPage = string.IsNullOrWhiteSpace(Host.Url) ? selectedPage = ViewModelResolver.ResolveViewModel <CheckInNonFullUserViewModel>() : selectedPage = ViewModelResolver.ResolveViewModel <CheckInViewModel>(); break; case HomeMenuItemType.Bookings: selectedPage = ViewModelResolver.ResolveViewModel <BookingsViewModel>(); break; case HomeMenuItemType.CheckOut: selectedPage = ViewModelResolver.ResolveViewModel <CheckOutViewModel>(); break; case HomeMenuItemType.AddBooking: selectedPage = ViewModelResolver.ResolveViewModel <BookingCalendarViewModel>(); break; case HomeMenuItemType.GuestBook: selectedPage = ViewModelResolver.ResolveViewModel <GuestBookViewModel>(); break; case HomeMenuItemType.Stats: selectedPage = ViewModelResolver.ResolveViewModel <StatsViewModel>(); break; case HomeMenuItemType.Settings: selectedPage = ViewModelResolver.ResolveViewModel <SettingsViewModel>(); break; case HomeMenuItemType.PostsAndReviews: selectedPage = ViewModelResolver.ResolveViewModel <PostsAndReviewsViewModel>(); break; case HomeMenuItemType.LogOut: await LogOut(); break; default: selectedPage = ViewModelResolver.ResolveViewModel <PostsAndReviewsViewModel>(); break; } if (selectedPage == null || type == HomeMenuItemType.LogOut) { return; } if (Detail is NavigationPage detailPage) { detailPage.NotifyAllChildrenPopped(); } // Default [Works for iOS] Detail = new NavigationContainer(selectedPage) { BarBackgroundColor = (Color)Application.Current.Resources["colorPrimary"], BarTextColor = Color.White }; if (Device.RuntimePlatform == Device.Android) { await Task.Delay(100); } // Work around for nav drawer hide lag [Android] //var root = Detail.Navigation.NavigationStack[0]; //Detail.Navigation.InsertPageBefore(page, root); //await Detail.Navigation.PopToRootAsync(false); IsPresented = false; }
public MainPage() { InitializeComponent(); Detail = new NavigationContainer(ViewModelResolver.ResolveViewModel <PostsAndReviewsViewModel>()); }
public MainWindow() { InitializeComponent(); NavigationContainer.Navigate(new LoginPage()); }