public bool IsSubMenuCurrent(CoreSiteActions currentAction) { return(IsSubMenuCurrent(currentAction.ToString())); }
public bool IsCurrentMainMenu(CoreSiteActions currentAction) { return(IsCurrentMainMenu(currentAction.ToString())); }
private Task <NavigationDetailViewModel> GetNavigationAsync(CoreSiteActions currentAction) { var ndvm = new NavigationDetailViewModel(); ndvm.mainMenuOptions = new List <MainMenu>(); ndvm.subMenuOptions = new List <SubMenu>(); if (_ud.IsActiveSession()) { ndvm.mainMenuOptions = _sd.GetMainMenus(); var hasAnimals = _ud.FarmDetails()?.HasAnimals ?? true; var importsManureCompost = _ud.FarmDetails()?.ImportsManureCompost ?? true; var greyOutClass = "top-level-nav-greyedout"; var noManureCompost = !_ud.GetAllManagedManures().Any(); //Want true to grey out Storage and Nutrient Analysis ndvm.mainMenuOptions .Single(s => s.Action.Equals(CoreSiteActions.ManureGeneratedObtained.ToString())) .GreyOutClass = !hasAnimals && !importsManureCompost ? greyOutClass : string.Empty; if (currentAction > CoreSiteActions.Home) { ndvm.UseInterceptJS = currentAction == CoreSiteActions.Farm; var currentMainMenu = ndvm.mainMenuOptions.SingleOrDefault(m => m.IsCurrentMainMenu(currentAction.ToString())); if (currentMainMenu != null) { currentMainMenu.ElementId = "current"; ndvm.subMenuOptions = currentMainMenu.SubMenus; var currentSubMenu = ndvm.subMenuOptions.SingleOrDefault(sm => sm.Action.Equals(currentAction.ToString(), StringComparison.CurrentCultureIgnoreCase)); if (currentSubMenu != null) { currentSubMenu.ElementId = "current2"; } if (currentMainMenu.Controller.Equals(AppControllers.ManureManagement.ToString())) { if (currentMainMenu.Controller == AppControllers.ManureManagement.ToString()) { greyOutClass = "second-level-nav-greyedout"; ndvm.subMenuOptions .Single(s => s.Action.Equals(CoreSiteActions.ManureGeneratedObtained.ToString())) .GreyOutClass = !hasAnimals ? greyOutClass : string.Empty; ndvm.subMenuOptions .Single(s => s.Action.Equals(CoreSiteActions.ManureImported.ToString())) .GreyOutClass = !importsManureCompost ? greyOutClass : string.Empty; ndvm.subMenuOptions .Single(s => s.Action.Equals(CoreSiteActions.ManureStorage.ToString())) .GreyOutClass = !hasAnimals && !importsManureCompost ? greyOutClass : string.Empty; ndvm.subMenuOptions .Single(s => s.Action.Equals(CoreSiteActions.ManureNutrientAnalysis.ToString())) .GreyOutClass = !hasAnimals && !importsManureCompost ? greyOutClass : string.Empty; } } } } } return(Task.FromResult(ndvm)); }