using System.Linq; using System.Runtime.Serialization; using Sony.Filtr.Contracts.Entities; using Sony.Filtr.Utility; namespace Sony.Filtr.API.ViewModels.v2 { [DataContract] public class PlaylistCategoryViewModel { public PlaylistCategoryViewModel(PlaylistCategory category, System.Collections.Generic.Dictionary icons) { var slug = TextUtility.GenerateSlug(category.Name); ID = string.Format("category-{0}", slug); //NOTE: Must match Id in playlistViewModel Slug = slug; Name = category.Name; Order = category.Order; //Icon = c.Icon; We only use the PredefinedIconName. Icon = category.PredefinedIconName; Description = category.Description; if (category.PlaylistCategoryIconId.HasValue && icons.ContainsKey(category.PlaylistCategoryIconId.Value)) { SVGMarkup = icons[category.PlaylistCategoryIconId.Value].SVGMarkup; } } [DataMember(Name = "id")] public string ID { get; set; } [DataMember(Name = "name")] public string Name { get; set; } [DataMember(Name = "icon")] public string Icon { get; set; } [DataMember(Name = "order")] public int Order { get; set; } [DataMember(Name = "description")] public string Description { get; set; } [DataMember(Name = "SVGMarkup")] public string SVGMarkup { get; set; } [DataMember(Name = "slug")] public string Slug { get; set; } } }