Пример #1
0
 public LayoutGroupList(ILayoutList list)
 {
     this.list = list;
     items     = new SelectableList <LayoutGroup>();
     items.Indexes.Add(textValueInvoker);
     items.ApplySort(new PGroupComparer());
 }
Пример #2
0
        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;
        }
Пример #3
0
        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.");
        }
Пример #4
0
        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;
        }