Esempio n. 1
0
        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
                };
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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
                };
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        public MainPage()
        {
            InitializeComponent();

            Detail = new NavigationContainer(ViewModelResolver.ResolveViewModel <ViewModels.Interventions.InterventionsViewModel>())
            {
                BarTextColor = Color.FromHex("#FFFFFF")
            };
            lastPage = (int)MenuItemType.Interventions;
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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"));
            }
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
        public MainPage()
        {
            InitializeComponent();

            Detail = new NavigationContainer(ViewModelResolver.ResolveViewModel <PostsAndReviewsViewModel>());
        }
Esempio n. 11
0
 public MainWindow()
 {
     InitializeComponent();
     NavigationContainer.Navigate(new LoginPage());
 }