using System; using System.Collections.Generic; using System.Linq; namespace zero.Core.Entities { public class SpaceCollection : List { public Space GetByAlias(string alias) { return this.FirstOrDefault(x => x.Alias.Equals(alias, StringComparison.InvariantCultureIgnoreCase)); } public void AddList(string alias, string name, string description, string icon) where T : SpaceContent, new() { Add(new Space() { Alias = alias, View = SpaceView.List, Name = name, Description = description, Icon = icon, Type = typeof(T) }); } public void AddEditor(string alias, string name, string description, string icon) where T : SpaceContent, new() { Add(new Space() { Alias = alias, View = SpaceView.Editor, Name = name, Description = description, Icon = icon, Type = typeof(T) }); } public void AddSeparator() { Space lastSpace = this.LastOrDefault(); if (lastSpace != null) { lastSpace.LineBelow = true; } } public void AddCustom(string componentPath, string alias, string name, string description, string icon) where T : SpaceContent, new() { Add(new Space() { Alias = alias, View = SpaceView.Custom, ComponentPath = componentPath, Name = name, Description = description, Icon = icon, Type = typeof(T) }); } public void AddCustom(string componentPath, string alias, string name, string description, string icon) { Add(new Space() { Alias = alias, View = SpaceView.Custom, ComponentPath = componentPath, Name = name, Description = description, Icon = icon }); } } }