public LayoutGroupList(ILayoutList list) { this.list = list; items = new SelectableList <LayoutGroup>(); items.Indexes.Add(textValueInvoker); items.ApplySort(new PGroupComparer()); }
private static IList<ILayoutInfo> RemoveBaseCloneLoayout(ILayoutList<ILayoutInfo> inputList) { var outputlist = new List<ILayoutInfo>(); if (inputList != null) { outputlist.AddRange(inputList); foreach (var item in inputList.Where(info => info.AccountId != 0).Select(info => inputList.FirstOrDefault(x => x.AccountId == 0 && x.Name == info.Name)).Where(item => item != null)) { outputlist.Remove(item); } } return outputlist; }
private void PopulateLayouts(ILayoutList<ILayoutInfo> layoutList) { LayoutList.Clear(); if (layoutList == null) return; var list = RemoveBaseCloneLoayout(layoutList); foreach (var l in list) { this.LayoutList.Add(new NewLayoutViewModel { Name = l.Name, Id = l.Id, //IsDefault = l.IsDefault ?? false, IsAdminLayout = l.IsAdminLayout ?? false, LayoutString = l.LayoutDefinition, AccountId = l.AccountId }); } var defaultLayout = GetDefaultLayout(list); if (defaultLayout != null) LayoutList.First(l => l.Id == defaultLayout.Id).IsDefault = true; else ThePopupFactory.Value.NotifyFailure("No default layouts."); }
private static IList<GridColumn> GetDefaultLayout(ILayoutList<ILayoutInfo> layoutList) { var mobileLayout = layoutList.FirstOrDefault(l => l.Name.ToUpperInvariant().Contains("MOBILE")); if(mobileLayout != null) return JsonConvert.DeserializeObject<IList<GridColumn>>(mobileLayout.LayoutDefinition); var defaultLayout = layoutList.FirstOrDefault(l => (l.IsDefault ?? false) && (l.AccountId == Utils.CurrentUserAccountId || (l.AccountId == 0 && Utils.CurrentUserAccountId == -1))); if (defaultLayout != null) return JsonConvert.DeserializeObject<IList<GridColumn>>(defaultLayout.LayoutDefinition); if (layoutList.Any(l => l.IsAdminDefault ?? false)) { return JsonConvert.DeserializeObject <IList<GridColumn>>(layoutList.First(l => l.IsAdminDefault ?? false).LayoutDefinition); } return JsonConvert.DeserializeObject<IList<GridColumn>>(layoutList.First().LayoutDefinition); }
private void PopulateLayouts(ILayoutList<ILayoutInfo> layoutList) { var selectedLayoutId = 0; if (SelectedLayout != null) selectedLayoutId = SelectedLayout.Id; LayoutList.Clear(); if (layoutList == null) return; var list = RemoveBaseCloneLoayout(layoutList); foreach (var l in list) { LayoutList.Add(new NewLayoutViewModel { Name = l.Name, Id = l.Id, IsAdminLayout = l.IsAdminLayout ?? false, LayoutString = l.LayoutDefinition, AccountId = l.AccountId }); } if (selectedLayoutId > 0 && !ShouldUseDefaultLayout()) { SetSelectedLayout( LayoutList.FirstOrDefault(x => x.Id == selectedLayoutId), _originalSelectedLayout != null && selectedLayoutId == _originalSelectedLayout.Id); } else SetSelectedLayout(null); var defaultLayout = GetDefaultLayout(list); if (defaultLayout != null) { var defaultLayoutVm = LayoutList.FirstOrDefault(l => l.Id == defaultLayout.Id); if (defaultLayoutVm != null) defaultLayoutVm.IsDefault = true; } else ThePopupFactory.Value.NotifyFailure("No default layouts."); _isUpdatingLayouts = false; }