public async Task <ActionResult> Index(vm.MainMenu info)
        {
            return(Redirect(Url.Index("AdminSettings")));

            ViewBag.Info = info;

            return(View(ViewBag));
        }
        public async Task <IViewComponentResult> InvokeAsync(vm.MainMenu info)
        {
            info = info ?? new vm.MainMenu();

            info.ActiveItem = GetActiveItem(info);

            return(View(info));
        }
        public string GetActiveItem(vm.MainMenu info)
        {
            var items = new[]
            {
                new MenuItem("Login", Url.Index("Login")),
                new MenuItem("Settings", Url.Index("AdminSettings")),
                new MenuItem("Apartments", Url.Index("Apartment"))
            };

            return(items.Where(i => i.MatchesCurrentUrl()).WithMax(x => x.Url.Split('?').First().Length)?.Key);
        }