public void LoadSettingFromUiConfig(UiConfigurationRoot configurationRoot) { if (configurationRoot.Id == null) { return; } var id = configurationRoot.Id.Value.ToString(); if (!_configurationMapping.ContainsKey(id)) { _configurationMapping.Add(id, new List <string>()); } else { _configurationMapping[id].Clear(); } foreach (var category in configurationRoot.Categories) { foreach (var controlModel in category.ControlModels) { var convertedControlModel = _controlModelService.Convert(controlModel); if (convertedControlModel != null) { var identifier = $"{convertedControlModel.Adapter}:{convertedControlModel.Identifier}"; if (!_configurationMapping[id].Contains(identifier)) { _configurationMapping[id].Add(identifier); } } } } }
public IActionResult CurrentUser(string userName, string categoryName) { if (HttpContext.Request.Cookies.ContainsKey("userName") && HttpContext.Request.Cookies["userName"] != userName) { Response.Cookies.Delete("userName"); } Response.Cookies.Append("userName", userName, new Microsoft.AspNetCore.Http.CookieOptions() { Expires = DateTime.Now.AddYears(1) }); var rootConfig = _uiConfigurationService.GetConfiguration(userName); ViewData["Title"] = userName; var controlModels = new List <IControlModel>(); var currentCategory = rootConfig.Categories.FirstOrDefault(cat => cat.Name == categoryName) ?? rootConfig.Categories.First(); foreach (var controlModel in currentCategory.ControlModels) { var model = _controlModelService.Convert(controlModel); if (model != null) { controlModels.Add(model); } } ViewData["Notifications"] = _notificationService.GetSystemNotifications(); ViewData["CategoryName"] = currentCategory.Name; ViewData["Controls"] = controlModels; ViewData["UiCategories"] = rootConfig.Categories ?? Array.Empty <UiConfigurationCategory>(); ViewData["UiConfigRoot"] = rootConfig; return(View()); }