public IActionResult CallRefreshOfNavigation(CoreSiteActions currentAction) { string controllerName = ControllerContext.RouteData.Values["controller"].ToString(); string url = Url.Action("RefreshNavigation", controllerName, new { currentAction = currentAction }); return(Json(new { success = true, url = url, target = "#navigation-container" })); }
private Task <NextPrevNavViewModel> GetNavigation(CoreSiteActions currentAction) { var currentMainMenuItem = _mainMenuOptions .Single(m => m.IsCurrentMainMenu(currentAction) || m.SubMenus.Any(sm => sm.IsSubMenuCurrent(currentAction))); var currentMenuItem = currentMainMenuItem.SubMenus.Any() ? currentMainMenuItem.SubMenus.Single(s => s.IsSubMenuCurrent(currentAction)) as Menu : currentMainMenuItem as Menu; if (currentAction == CoreSiteActions.SoilTest) { currentMenuItem.UseJavaScriptInterceptMethod = true; } var mnvm = PopulateViewModel(currentMenuItem); return(Task.FromResult(mnvm)); }
public MainMenu GetMainMenu(CoreSiteActions action) { throw new NotImplementedException(); }
private Task <NextPreviousNavigationViewModel> GetManureNavigation(CoreSiteActions currentAction) { var hasAnimals = _ud.FarmDetails()?.HasAnimals ?? true; var importsManureCompost = _ud.FarmDetails()?.ImportsManureCompost ?? true; var mnvm = new NextPreviousNavigationViewModel { UseJSInterceptMethod = false, PreviousController = AppControllers.ManureManagement, NextController = AppControllers.ManureManagement }; if (currentAction == CoreSiteActions.Farm) { mnvm.NextAction = CoreSiteActions.ManureGeneratedObtained; if (!hasAnimals) { mnvm.NextAction = CoreSiteActions.ManureImported; } if (!importsManureCompost) { mnvm.NextAction = CoreSiteActions.Fields; mnvm.NextController = AppControllers.Fields; } } if (currentAction == CoreSiteActions.ManureGeneratedObtained) { mnvm.PreviousAction = CoreSiteActions.Farm; mnvm.PreviousController = AppControllers.Farm; if (importsManureCompost) { mnvm.NextAction = CoreSiteActions.ManureImported; } else if (hasAnimals) { mnvm.NextAction = CoreSiteActions.ManureStorage; } else { mnvm.NextAction = CoreSiteActions.Fields; mnvm.NextController = AppControllers.Fields; } } if (currentAction == CoreSiteActions.ManureImported) { mnvm.PreviousAction = CoreSiteActions.ManureGeneratedObtained; if (!hasAnimals) { //Skip Previous Generated mnvm.PreviousAction = CoreSiteActions.Farm; mnvm.PreviousController = AppControllers.Farm; } mnvm.NextAction = CoreSiteActions.ManureStorage; if (!hasAnimals && !importsManureCompost) { mnvm.NextAction = CoreSiteActions.Fields; mnvm.NextController = AppControllers.Fields; } } if (currentAction == CoreSiteActions.ManureStorage) { mnvm.PreviousAction = CoreSiteActions.ManureImported; if (!importsManureCompost && hasAnimals) { mnvm.PreviousAction = CoreSiteActions.ManureGeneratedObtained; } else { mnvm.PreviousAction = CoreSiteActions.Farm; mnvm.PreviousController = AppControllers.Farm; } if (hasAnimals || importsManureCompost) { mnvm.NextAction = CoreSiteActions.ManureNutrientAnalysis; } else { mnvm.NextAction = CoreSiteActions.Fields; mnvm.NextController = AppControllers.Fields; } } if (currentAction == CoreSiteActions.ManureNutrientAnalysis) { mnvm.PreviousAction = CoreSiteActions.ManureStorage; if (!hasAnimals && !importsManureCompost) { mnvm.PreviousAction = CoreSiteActions.Farm; mnvm.PreviousController = AppControllers.Farm; } mnvm.NextAction = CoreSiteActions.Fields; mnvm.NextController = AppControllers.Fields; } if (currentAction == CoreSiteActions.Fields) { if (hasAnimals || importsManureCompost) { mnvm.PreviousAction = CoreSiteActions.ManureNutrientAnalysis; } else { mnvm.PreviousAction = CoreSiteActions.Farm; mnvm.PreviousController = AppControllers.Farm; } mnvm.NextAction = CoreSiteActions.SoilTest; mnvm.NextController = AppControllers.Soil; } if (currentAction == CoreSiteActions.SoilTest) { mnvm.UseJSInterceptMethod = true; mnvm.PreviousAction = CoreSiteActions.Fields; mnvm.PreviousController = AppControllers.Fields; mnvm.NextAction = CoreSiteActions.Calculate; mnvm.NextController = AppControllers.Nutrients; } if (currentAction == CoreSiteActions.Calculate) { ProcessCalculateNavigation(mnvm); } mnvm.ViewPreviousUrl = Url.Action(mnvm.ViewPreviousAction, mnvm.ViewPreviousController, mnvm.PreviousParameters); mnvm.ViewNextUrl = Url.Action(mnvm.ViewNextAction, mnvm.ViewNextController, mnvm.NextParameters); return(Task.FromResult(mnvm)); }
public async Task <IViewComponentResult> InvokeAsync(CoreSiteActions currentAction) { return(View(await GetManureNavigation(currentAction))); }
public bool IsCurrentMainMenu(CoreSiteActions currentAction) { return(IsCurrentMainMenu(currentAction.ToString())); }
public IActionResult RefreshNextPreviousNavigation(CoreSiteActions currentAction) { return(ViewComponent("NextPreviousNavigation", new { currentAction = currentAction })); }
public bool IsSubMenuCurrent(CoreSiteActions currentAction) { return(IsSubMenuCurrent(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)); }