public JsonResult GetAllSpartaneModuleObject(string ModuleID, string RoleID, bool All) { if (!_tokenManager.GenerateToken()) { return(null); } _ISpartaneUserRoleModuleObjectApiConsumer.SetAuthHeader(_tokenManager.Token); int mid = Convert.ToInt32(ModuleID); int roleID = Convert.ToInt32(RoleID); var spartaneObject = new List <SpartaneObject>(); spartaneObject = _ISpartaneObjectApiConsumer.ListaSelAll(1, int.MaxValue, string.Empty, string.Empty).Resource.Spartan_Objects; string whereClause = "Spartan_User_Rule_Module_Object.Module_Id=" + ModuleID + " AND Spartan_User_Role = " + RoleID; // Can be added later in ListaSelAll method. var result = _ISpartaneUserRoleModuleObjectApiConsumer.SelAll(false, whereClause, "Spartan_User_Rule_Module_Object.Object_Id"); var lstGlobalSpartaneRuleModuleObject = (List <SpartanUserRoleModuleObject>)result.Resource; var lstCustomDataHolder = GetModuleRoleObject(spartaneObject, lstGlobalSpartaneRuleModuleObject, mid, roleID, All); if (lstCustomDataHolder == null) { return(Json("", JsonRequestBehavior.AllowGet)); } else { return(Json(lstCustomDataHolder, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// Used to get the latest version of the menu /// </summary> public static void GetLatestMenu() { //new Thread(() => //{ if (!_tokenManager.GenerateToken("admin", "admin")) { throw new ArgumentException("Unable to Authorize the application"); } //Adding Token in each request _userRoleApiConsumer.SetAuthHeader(_tokenManager.Token); _spartaneModuleApiConsumer.SetAuthHeader(_tokenManager.Token); _spartanUserRoleModuleApiConsumer.SetAuthHeader(_tokenManager.Token); _spartaneObjectApiConsumer.SetAuthHeader(_tokenManager.Token); _spartaneUserRoleModuleObjectApiConsumer.SetAuthHeader(_tokenManager.Token); var userRoles = _userRoleApiConsumer.SelAll(true).Resource; if (!userRoles.Any()) { return; } //Getting all as the _spartanUserRoleModuleApiConsumer GETByKey method not working var userRoleModuleAll = _spartanUserRoleModuleApiConsumer.SelAll(true).Resource; if (!userRoleModuleAll.Any()) { return; } _SpartaneUserRoleModuleObject = _spartaneUserRoleModuleObjectApiConsumer.SelAll(true).Resource.OrderBy(m => m.Order_Shown).ToList(); if (!_SpartaneUserRoleModuleObject.Any()) { return; } //Itrating over the list of userRoles for getting the respective menus //List<SpartaneUserRoleModule> userRoleModules; //Initializing Menu Order MenuOrder = new Dictionary <int, List <RecursiveObject> >(); int languageId = SessionHelper.languageid; foreach (var userRole in userRoles) { var UserAdditionalMenu = _spartaneUserRoleModuleObjectApiConsumer.GetAdditionalMenu(userRole.User_Role_Id, languageId).Resource.ToList(); lstUserRoleModules = userRoleModuleAll.Where(m => m.Spartan_User_Role == userRole.User_Role_Id).OrderBy(m => m.Order_Shown).ToList(); if (!lstUserRoleModules.Any()) { continue; } var modules = new List <SpartanModule>(); foreach (var userRoleModule in lstUserRoleModules) { modules.Add(_spartaneModuleApiConsumer.GetByKey(userRoleModule.Module_Id, true).Resource); } var additionalMenu = CreateUserAdditionalMenuHierachy(UserAdditionalMenu); var flatObjects = CreateModuleHierarchy(modules.Where(m => m.Status == 1).ToList()); var RecursirveAdditionalMenu = GetRecursiveAdditionalMenu(additionalMenu, UserAdditionalMenu); MenuOrder.Add(userRole.User_Role_Id, FillRecursive(flatObjects, 0, userRole.User_Role_Id)); MenuOrder[userRole.User_Role_Id].AddRange(RecursirveAdditionalMenu); lstUserRoleModules = null; } _SpartaneUserRoleModuleObject = null; }