Beispiel #1
0
        public IEnumerable <MenuViewModel> BuildMenuViewModel(Item mainItem)
        {
            List <MenuViewModel> menuViewModelList = new List <MenuViewModel>();

            var childList  = mainItem.GetChildren();
            var headerItem = childList.FirstOrDefault(x => x.TemplateName == "Header");

            var headerChildList = headerItem.GetChildren();
            var menuItemList    = headerChildList.Where(x => x.TemplateName == "Menu");

            foreach (var item in menuItemList)
            {
                MenuViewModel menuViewModel = new MenuViewModel();

                menuViewModel.MenuName = item.Fields["Menu name"].Value;
                menuViewModel.UrlPath  = item.Fields["Link"].Value;

                var subMenuList = item.GetChildren().Where(x => x.TemplateName == "Sub menu");
                foreach (var subMenuItem in subMenuList)
                {
                    SubMenuItemViewModel subMenuItemViewModel = new SubMenuItemViewModel();

                    subMenuItemViewModel.Name    = subMenuItem.Fields["Menu name"].Value;
                    subMenuItemViewModel.UrlPath = subMenuItem.Fields["Link"].Value;

                    menuViewModel.SubMenuItems.Add(subMenuItemViewModel);
                }

                menuViewModelList.Add(menuViewModel);
            }

            return(menuViewModelList);
        }
        public async Task OldMenu()
        {
            MenuItemViewModel Landing = new MenuItemViewModel
            {
                Icon  = AppConfigurations.IconHome,
                Page  = AppPages.LandingPage,
                Title = AppResources.TitleLandingPage
            };

            MenuItemViewModel MyAccount = new MenuItemViewModel
            {
                Icon  = AppConfigurations.IconUser,
                Page  = AppPages.MyAccount,
                Title = AppResources.TitleMyAccount,
            };

            SubMenuItemViewModel PersonalInformation = new SubMenuItemViewModel {
                Page = AppPages.PersonalDataPage, Title = AppResources.TitlePersonalInformation
            };
            SubMenuItemViewModel Beneficiary = new SubMenuItemViewModel {
                Page = AppPages.BeneficiariesPage, Title = AppResources.TitleBenericiaries
            };
            SubMenuItemViewModel Family = new SubMenuItemViewModel {
                Page = AppPages.FamilyPage, Title = AppResources.TitleFamily
            };
            SubMenuItemViewModel Invoices = new SubMenuItemViewModel {
                Page = AppPages.SearchInvoicesPage, Title = AppResources.TitleMyInvoices
            };
            SubMenuItemViewModel ChangePassword = new SubMenuItemViewModel {
                Page = AppPages.ChangePasswordPage, Title = AppResources.TitleChangePassword
            };
            SubMenuItemViewModel ChangeEmail = new SubMenuItemViewModel {
                Page = AppPages.ChangeEmailPage, Title = AppResources.TitleChangeEmail
            };
            SubMenuItemViewModel DisableAccount = new SubMenuItemViewModel {
                Page = AppPages.DisableAccountPage, Title = AppResources.TitleDisableAccount
            };
            SubMenuItemViewModel Certificates = new SubMenuItemViewModel {
                Page = AppPages.CertificatesPage, Title = AppResources.TitleCertificates
            };
            SubMenuItemViewModel ProductsAndPlans = new SubMenuItemViewModel {
                Page = AppPages.ProductsAndPlans, Title = AppResources.TitleProductsAndPlans
            };
            SubMenuItemViewModel Cards = new SubMenuItemViewModel {
                Page = AppPages.CardsPage, Title = AppResources.TitleCard
            };

            if (loginViewModel.User.AffiliateType != AffiliateType.NoAffiliate)
            {
                MyAccount.SubMenuItems.Add(PersonalInformation);
            }

            if (WithdrawalAndCard.ValidateCard)
            {
                MyAccount.SubMenuItems.Add(Cards);
            }
            //if (loginViewModel.User.AffiliateType != AffiliateType.NoAffiliate)
            //{
            //    MyAccount.SubMenuItems.Add(Cards);
            //}

            if (loginViewModel.User.AffiliateType == AffiliateType.ResponsiblePayment)
            {
                MyAccount.SubMenuItems.Add(Beneficiary);
            }

            MyAccount.SubMenuItems.Add(ProductsAndPlans);

            MyAccount.SubMenuItems.Add(Family);

            if (loginViewModel.User.AffiliateType == AffiliateType.ResponsiblePayment)
            {
                MyAccount.SubMenuItems.Add(Invoices);
            }

            if (loginViewModel.User.AffiliateType != AffiliateType.NoAffiliate)
            {
                MyAccount.SubMenuItems.Add(Certificates);
            }

            MyAccount.SubMenuItems.Add(ChangePassword);
            MyAccount.SubMenuItems.Add(ChangeEmail);
            MyAccount.SubMenuItems.Add(DisableAccount);

            MenuItemViewModel MyServices = new MenuItemViewModel
            {
                Icon  = AppConfigurations.IconMyHealth,
                Page  = AppPages.MyHealth,
                Title = AppResources.TitleMyServices
            };

            SubMenuItemViewModel ServicesHistory = new SubMenuItemViewModel {
                Page = AppPages.SearchServicesHistoryPage, Title = AppResources.TitleServicesHistory
            };
            SubMenuItemViewModel SheduledServices = new SubMenuItemViewModel {
                Page = AppPages.ScheduledServicesPage, Title = AppResources.TitleSheduledServices
            };
            SubMenuItemViewModel ExpiredMedicalServices = new SubMenuItemViewModel {
                Page = AppPages.ExpiredMedicalServices, Title = AppResources.TitleExpiredMedicalServices
            };

            MyServices.SubMenuItems.Add(ServicesHistory);
            MyServices.SubMenuItems.Add(SheduledServices);
            if (loginViewModel.User.AffiliateType != AffiliateType.NoAffiliate)
            {
                MyServices.SubMenuItems.Add(ExpiredMedicalServices);
            }

            MenuItemViewModel RequestService = new MenuItemViewModel
            {
                Icon  = "ic_add_circle",
                Page  = AppPages.ServicesPage,
                Title = AppResources.TitleRequestRervice
            };

            MenuItemViewModel CustomService = new MenuItemViewModel
            {
                Icon  = AppConfigurations.IconCustomerService,
                Page  = AppPages.MyAccount,
                Title = AppResources.TitleCustomService
            };

            SubMenuItemViewModel Faqs = new SubMenuItemViewModel {
                Page = AppPages.FaqsPage, Title = AppResources.TitleFaqs
            };
            SubMenuItemViewModel PQRS = new SubMenuItemViewModel {
                Page = AppPages.PQRSPage, Title = AppResources.TitlePQRS
            };
            SubMenuItemViewModel TermsAndConditions = new SubMenuItemViewModel {
                Page = AppPages.TermsAndConditionsPage, Title = AppResources.TermsAndConditions
            };
            SubMenuItemViewModel DataManagementPolicy = new SubMenuItemViewModel {
                Page = AppPages.DataManagementPolicyPage, Title = AppResources.DataManagementPolicy
            };

            //SubMenuItemViewModel ChatCustomerService = new SubMenuItemViewModel { Page = AppPages.ChatCustomerServicePage, Title = AppResources.ChatCustomerService };

            //CustomService.SubMenuItems.Add(ChatCustomerService);


            CustomService.SubMenuItems.Add(Faqs);
            CustomService.SubMenuItems.Add(PQRS);
            CustomService.SubMenuItems.Add(TermsAndConditions);
            CustomService.SubMenuItems.Add(DataManagementPolicy);

            MenuItemViewModel NearbyClinicsPage = new MenuItemViewModel
            {
                Icon  = AppConfigurations.IconGps,
                Page  = AppPages.NearbyClinicsPage,
                Title = AppResources.TitleNearbyClinics
            };


            MenuItemViewModel Logout = new MenuItemViewModel
            {
                Page  = AppPages.LoginPage,
                Title = AppResources.TitleLogOut,
                Icon  = AppConfigurations.IconLogOut
            };

            MenuItems.Add(Landing);
            MenuItems.Add(MyAccount);
            MenuItems.Add(RequestService);
            MenuItems.Add(NearbyClinicsPage);
            MenuItems.Add(MyServices);
            MenuItems.Add(CustomService);
            MenuItems.Add(Logout);
        }