private TabDto MarkSelectedTab(TabDto rootNode, int selectedTabId, PortalInfo portalInfo, string cultureCode, bool isMultiLanguage, string validateTab) { var tempTabs = new List <int>(); cultureCode = string.IsNullOrEmpty(cultureCode) ? portalInfo.CultureCode : cultureCode; var locale = LocaleController.Instance.GetLocale(cultureCode); var selectedTab = GetTabByCulture(selectedTabId, portalInfo.PortalID, locale); if (selectedTab != null) { tempTabs.Add(Convert.ToInt32(selectedTab.TabId)); if (selectedTab.ParentTabId > Null.NullInteger) { var parentTab = selectedTab; do { parentTab = GetTabByCulture(parentTab.ParentTabId, portalInfo.PortalID, locale); if (parentTab != null) { tempTabs.Add(Convert.ToInt32(parentTab.TabId)); } } while (parentTab != null && parentTab.ParentTabId > Null.NullInteger); } } tempTabs.Reverse(); rootNode.ChildTabs = GetDescendantsForTabs(tempTabs, rootNode.ChildTabs, selectedTabId, portalInfo.PortalID, cultureCode, isMultiLanguage).ToList(); if (!string.IsNullOrEmpty(validateTab)) { rootNode.ChildTabs = ValidateModuleInTab(rootNode.ChildTabs, validateTab).ToList(); } return(rootNode); }
private void AddChildNodes(TabDto parentNode, PortalInfo portal, string cultureCode) { if (parentNode.ChildTabs != null) { parentNode.ChildTabs.Clear(); int parentId; int.TryParse(parentNode.TabId, out parentId); var tabs = GetFilteredTabs(TabController.Instance.GetTabsByPortal(portal.PortalID).WithCulture(cultureCode, true)).WithParentId(parentId); foreach (var tab in tabs) { if (tab.ParentId == parentId) { var node = new TabDto { Name = tab.TabName, TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ParentTabId = tab.ParentId }; AddChildNodes(node, portal, cultureCode); parentNode.ChildTabs.Add(node); } } } }
public async Task <IActionResult> CreateTab([FromBody] TabDto tab) { var tabId = await _mediator.Send(new CreateTabCommand() { Name = tab.Name }); return(Created($"/api/Tabs/{tabId}", tabId)); }
public Tab(TabDto dto) { Id = dto.Id; NumberOfDevices = dto.NumberOfDevices; DeviceType = (DeviceType)dto.DeviceType; DeviceProductivities = JsonConvert.DeserializeObject <decimal[]>(dto.Productivity); NumberOfPalleteRows = dto.NumberOfPalletes; NumberOfWorkPerRow = dto.NumberOfWork; DurationByWork = JsonConvert.DeserializeObject <int[, ]>(dto.WorkPerPallete); }
public int Save(Tab tabModel) { var dto = new TabDto { DeviceType = (byte)tabModel.DeviceType, NumberOfDevices = tabModel.NumberOfDevices, NumberOfPalletes = tabModel.NumberOfPalleteRows, NumberOfWork = tabModel.NumberOfWorkPerRow, Productivity = JsonConvert.SerializeObject(tabModel.DeviceProductivities), WorkPerPallete = JsonConvert.SerializeObject(tabModel.DurationByWork) }; _repository.Save(dto); return(dto.Id); }
public async Task <IActionResult> UpdateTab([FromRoute] Guid tabId, [FromBody] TabDto tab) { var readResult = await _mediator.Send(new GetTabQuery() { TabId = tabId }); if (readResult.ResultCode != ResultCode.Ok) { return(ResultToResponse(readResult)); } var result = await _mediator.Send(new UpdateTabCommand() { TabId = tabId, Name = tab.Name }); return(ResultToResponse(result)); }
public IEnumerable <TabDto> GetTabsDescendants(int portalId, int parentId, string cultureCode, bool isMultiLanguage, string roles = "", bool disabledNotSelectable = false, int sortOrder = 0, string validateTab = "", bool includeHostPages = false, bool includeDisabled = false, bool includeDeletedChildren = true) { var descendants = new List <TabDto>(); cultureCode = string.IsNullOrEmpty(cultureCode) ? PortalController.Instance.GetPortal(portalId).CultureCode : cultureCode; var tabs = GetExportableTabs(TabController.Instance.GetTabsByPortal(portalId) .WithCulture(cultureCode, true)) .WithParentId(parentId).ToList(); if (!string.IsNullOrEmpty(validateTab)) { tabs = ValidateModuleInTab(tabs, validateTab).ToList(); } var filterTabs = FilterTabsByRole(tabs, roles, disabledNotSelectable); foreach (var tab in tabs.Where( x => x.ParentId == parentId && ( includeDeletedChildren || !x.IsDeleted))) { string tooltip; var nodeIcon = GetNodeIcon(tab, out tooltip); var node = new TabDto { Name = tab.TabName, //$"{tab.TabName} {GetNodeStatusIcon(tab)}", TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ImageUrl = nodeIcon, Tooltip = tooltip, ParentTabId = tab.ParentId, HasChildren = tab.HasChildren, Selectable = filterTabs.Contains(tab.TabID) && TabPermissionController.CanAddPage(tab) }; descendants.Add(node); } return(ApplySort(descendants, sortOrder)); }
public TabDto GetPortalTabs(int portalId, string cultureCode, bool isMultiLanguage) { if (string.IsNullOrEmpty(cultureCode)) { cultureCode = LocaleController.Instance.GetDefaultLocale(portalId).Code; } var rootNode = new TabDto { Name = PortalSettings.PortalName, TabId = Null.NullInteger.ToString(CultureInfo.InvariantCulture), ParentTabId = Null.NullInteger, ChildTabs = new List <TabDto>() }; var portalInfo = PortalController.Instance.GetPortal(portalId); var tabs = TabController.GetPortalTabs(isMultiLanguage ? TabController.GetTabsBySortOrder(portalId, portalInfo.DefaultLanguage, true) : TabController.GetTabsBySortOrder(portalId, cultureCode, true), Null.NullInteger, false, "<" + Localization.GetString("None_Specified") + ">", true, false, true, false, false).Where(t => !t.IsSystem).ToList(); foreach (var tab in tabs) { if (tab.Level == 0 && tab.TabID != portalInfo.AdminTabId) { var node = new TabDto { Name = tab.TabName, TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ParentTabId = tab.ParentId, ChildTabs = new List <TabDto>() }; AddChildNodes(node, portalInfo, cultureCode); rootNode.ChildTabs.Add(node); } } return(rootNode); }
public TabDto GetPortalTabs(UserInfo userInfo, int portalId, string cultureCode, bool isMultiLanguage, bool excludeAdminTabs = true, string roles = "", bool disabledNotSelectable = false, int sortOrder = 0, int selectedTabId = -1, string validateTab = "", bool includeHostPages = false, bool includeDisabled = false, bool includeDeleted = false, bool includeDeletedChildren = true) { var portalInfo = PortalController.Instance.GetPortal(portalId); var rootNode = new TabDto { Name = portalInfo.PortalName, ImageUrl = IconPortal, TabId = Null.NullInteger.ToString(CultureInfo.InvariantCulture), ChildTabs = new List <TabDto>(), HasChildren = true }; var tabs = new List <TabInfo>(); cultureCode = string.IsNullOrEmpty(cultureCode) ? portalInfo.CultureCode : cultureCode; if (portalId > -1) { tabs = TabController.GetPortalTabs( isMultiLanguage ? TabController.GetTabsBySortOrder(portalId, portalInfo.DefaultLanguage, true) : TabController.GetTabsBySortOrder(portalId, cultureCode, true), Null.NullInteger, false, "<" + Localization.GetString("None_Specified") + ">", true, includeDeleted, true, false, false, includeDeletedChildren) .Where(t => (!t.DisableLink || includeDisabled) && !t.IsSystem) .ToList(); if (userInfo.IsSuperUser && includeHostPages) { tabs.AddRange( TabController.Instance.GetTabsByPortal(-1) .AsList() .Where(t => !t.IsDeleted && !t.DisableLink && !t.IsSystem) .ToList()); } } else { if (userInfo.IsSuperUser) { tabs = TabController.Instance.GetTabsByPortal(-1).AsList().Where(t => !t.IsDeleted && !t.DisableLink && !t.IsSystem).ToList(); } } tabs = excludeAdminTabs ? tabs.Where(tab => tab.Level == 0 && tab.TabID != portalInfo.AdminTabId).ToList() : tabs.Where(tab => tab.Level == 0).ToList(); if (!string.IsNullOrEmpty(validateTab)) { tabs = ValidateModuleInTab(tabs, validateTab).ToList(); } var filterTabs = FilterTabsByRole(tabs, roles, disabledNotSelectable); rootNode.HasChildren = tabs.Count > 0; rootNode.Selectable = SecurityService.Instance.IsPagesAdminUser(); foreach (var tab in tabs) { string tooltip; var nodeIcon = GetNodeIcon(tab, out tooltip); var node = new TabDto { Name = tab.LocalizedTabName, //$"{tab.TabName} {GetNodeStatusIcon(tab)}", TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ImageUrl = nodeIcon, Tooltip = tooltip, ParentTabId = tab.ParentId, HasChildren = tab.HasChildren, Selectable = filterTabs.Contains(tab.TabID) && TabPermissionController.CanAddPage(tab), ChildTabs = new List <TabDto>() }; rootNode.ChildTabs.Add(node); } rootNode.ChildTabs = ApplySort(rootNode.ChildTabs, sortOrder).ToList(); return(selectedTabId > -1 ? MarkSelectedTab(rootNode, selectedTabId, portalInfo, cultureCode, isMultiLanguage, validateTab) : rootNode); }
public TabDto SearchPortalTabs(UserInfo userInfo, string searchText, int portalId, string roles = "", bool disabledNotSelectable = false, int sortOrder = 0, string validateTab = "", bool includeHostPages = false, bool includeDisabled = false, bool includeDeleted = false) { var rootNode = new TabDto { Name = PortalSettings.PortalName, ImageUrl = IconPortal, TabId = Null.NullInteger.ToString(CultureInfo.InvariantCulture), ChildTabs = new List <TabDto>(), HasChildren = true }; Func <TabInfo, bool> searchFunc; if (string.IsNullOrEmpty(searchText)) { searchFunc = page => true; } else { searchFunc = page => page.LocalizedTabName.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase) > -1; } var tabs = new List <TabInfo>(); if (portalId > -1) { tabs = TabController.Instance.GetTabsByPortal(portalId) .Where( tab => (includeDisabled || !tab.Value.DisableLink) && (includeDeleted || !tab.Value.IsDeleted) && (tab.Value.TabType == TabType.Normal) && searchFunc(tab.Value) && !tab.Value.IsSystem) .Select(tab => tab.Value).ToList(); if (userInfo.IsSuperUser && includeHostPages) { tabs.AddRange(TabController.Instance.GetTabsByPortal(-1).Where(tab => !tab.Value.DisableLink && searchFunc(tab.Value) && !tab.Value.IsSystem) .OrderBy(tab => tab.Value.TabOrder) .Select(tab => tab.Value) .ToList()); } } else { if (userInfo.IsSuperUser) { tabs = TabController.Instance.GetTabsByPortal(-1).Where(tab => !tab.Value.DisableLink && searchFunc(tab.Value) && !tab.Value.IsSystem) .OrderBy(tab => tab.Value.TabOrder) .Select(tab => tab.Value) .ToList(); } } var filterTabs = FilterTabsByRole(tabs, roles, disabledNotSelectable); rootNode.HasChildren = tabs.Any(); rootNode.Selectable = SecurityService.Instance.IsPagesAdminUser(); foreach (var tab in tabs) { string tooltip; var nodeIcon = GetNodeIcon(tab, out tooltip); var node = new TabDto { Name = tab.LocalizedTabName, TabId = tab.TabID.ToString(CultureInfo.InvariantCulture), ImageUrl = nodeIcon, ParentTabId = tab.ParentId, HasChildren = false, Selectable = filterTabs.Contains(tab.TabID) && TabPermissionController.CanAddPage(tab) }; rootNode.ChildTabs.Add(node); } rootNode.ChildTabs = ApplySort(rootNode.ChildTabs, sortOrder).ToList(); if (!string.IsNullOrEmpty(validateTab)) { rootNode.ChildTabs = ValidateModuleInTab(rootNode.ChildTabs, validateTab).ToList(); } return(rootNode); }