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 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); }