示例#1
46
 public void AddBroadcastHistory(JObject info)
 {
     var obj = new PeerCastStation.UI.BroadcastInfo();
     if (info["streamType"]!=null)  obj.StreamType  = (string)info["streamType"];
     if (info["streamUrl"]!=null)   obj.StreamUrl   = (string)info["streamUrl"];
     if (info["bitrate"]!=null)     obj.Bitrate     = (int)info["bitrate"];
     if (info["contentType"]!=null) obj.ContentType = (string)info["contentType"];
     if (info["yellowPage"]!=null)  obj.YellowPage  = (string)info["yellowPage"];
     if (info["channelName"]!=null) obj.ChannelName = (string)info["channelName"];
     if (info["genre"]!=null)       obj.Genre       = (string)info["genre"];
     if (info["description"]!=null) obj.Description = (string)info["description"];
     if (info["comment"]!=null)     obj.Comment     = (string)info["comment"];
     if (info["contactUrl"]!=null)  obj.ContactUrl  = (string)info["contactUrl"];
     if (info["trackTitle"]!=null)  obj.TrackTitle  = (string)info["trackTitle"];
     if (info["trackAlbum"]!=null)  obj.TrackAlbum  = (string)info["trackAlbum"];
     if (info["trackArtist"]!=null) obj.TrackArtist = (string)info["trackArtist"];
     if (info["trackGenre"]!=null)  obj.TrackGenre  = (string)info["trackGenre"];
     if (info["trackUrl"]!=null)    obj.TrackUrl    = (string)info["trackUrl"];
     if (info["favorite"]!=null)    obj.Favorite    = (bool)info["favorite"];
     var settings = PeerCastApplication.Current.Settings.Get<UISettings>();
     var item = settings.FindBroadcastHistroryItem(obj);
     if (item!=null) {
       if (info["favorite"]!=null) item.Favorite = (bool)info["favorite"];
     }
     else {
       settings.AddBroadcastHistory(obj);
     }
 }
示例#2
8
 public void AddBroadcastHistory(JObject info)
 {
     var obj = new PeerCastStation.UI.BroadcastInfo();
     info.TryGetThen("streamType",  v => obj.StreamType  = v);
     info.TryGetThen("streamUrl",   v => obj.StreamUrl   = v);
     info.TryGetThen("bitrate",     v => obj.Bitrate     = v);
     info.TryGetThen("contentType", v => obj.ContentType = v);
     info.TryGetThen("yellowPage",  v => obj.YellowPage  = v);
     info.TryGetThen("channelName", v => obj.ChannelName = v);
     info.TryGetThen("genre",       v => obj.Genre       = v);
     info.TryGetThen("description", v => obj.Description = v);
     info.TryGetThen("comment",     v => obj.Comment     = v);
     info.TryGetThen("contactUrl",  v => obj.ContactUrl  = v);
     info.TryGetThen("trackTitle",  v => obj.TrackTitle  = v);
     info.TryGetThen("trackAlbum",  v => obj.TrackAlbum  = v);
     info.TryGetThen("trackArtist", v => obj.TrackArtist = v);
     info.TryGetThen("trackGenre",  v => obj.TrackGenre  = v);
     info.TryGetThen("trackUrl",    v => obj.TrackUrl    = v);
     info.TryGetThen("favorite",    v => obj.Favorite    = v);
     var settings = PeerCastApplication.Current.Settings.Get<UISettings>();
     var item = settings.FindBroadcastHistroryItem(obj);
     if (item!=null) {
       info.TryGetThen("favorite", v => item.Favorite = v);
     }
     else {
       settings.AddBroadcastHistory(obj);
     }
 }
示例#3
3
 public void AddBroadcastHistory(BroadcastInfo info)
 {
   if (FindBroadcastHistroryItem(info)!=null) return;
   var fav    = BroadcastHistory.Where(i =>  i.Favorite);
   var others = BroadcastHistory.Where(i => !i.Favorite);
   BroadcastHistory = fav.Concat(Enumerable.Repeat(info, 1).Concat(others.Take(19))).ToArray();
 }
示例#4
0
        public void AddBroadcastHistory(BroadcastInfo info)
        {
            if (FindBroadcastHistroryItem(info) != null)
            {
                return;
            }
            var fav    = BroadcastHistory.Where(i => i.Favorite);
            var others = BroadcastHistory.Where(i => !i.Favorite);

            BroadcastHistory = fav.Concat(Enumerable.Repeat(info, 1).Concat(others.Take(19))).ToArray();
        }
示例#5
0
 public BroadcastInfo FindBroadcastHistroryItem(BroadcastInfo info)
 {
     return(BroadcastHistory.FirstOrDefault(i =>
                                            i.StreamType == info.StreamType &&
                                            i.StreamUrl == info.StreamUrl &&
                                            i.Bitrate == info.Bitrate &&
                                            i.ContentType == info.ContentType &&
                                            i.YellowPage == info.YellowPage &&
                                            i.ChannelName == info.ChannelName &&
                                            i.Genre == info.Genre &&
                                            i.Description == info.Description &&
                                            i.Comment == info.Comment &&
                                            i.ContactUrl == info.ContactUrl &&
                                            i.TrackTitle == info.TrackTitle &&
                                            i.TrackAlbum == info.TrackAlbum &&
                                            i.TrackArtist == info.TrackArtist &&
                                            i.TrackGenre == info.TrackGenre &&
                                            i.TrackUrl == info.TrackUrl));
 }
示例#6
0
 public BroadcastInfo FindBroadcastHistroryItem(BroadcastInfo info)
 {
   return BroadcastHistory.FirstOrDefault(i =>
       i.StreamType  == info.StreamType  &&
       i.StreamUrl   == info.StreamUrl   &&
       i.Bitrate     == info.Bitrate     &&
       i.ContentType == info.ContentType &&
       i.YellowPage  == info.YellowPage  &&
       i.ChannelName == info.ChannelName &&
       i.Genre       == info.Genre       &&
       i.Description == info.Description &&
       i.Comment     == info.Comment     &&
       i.ContactUrl  == info.ContactUrl  &&
       i.TrackTitle  == info.TrackTitle  &&
       i.TrackAlbum  == info.TrackAlbum  &&
       i.TrackArtist == info.TrackArtist &&
       i.TrackGenre  == info.TrackGenre  &&
       i.TrackUrl    == info.TrackUrl);
 }
示例#7
0
 public BroadcastInfoViewModel(PeerCastStation.UI.BroadcastInfo model)
 {
     networkType = model.NetworkType;
     streamType  = model.StreamType;
     streamUrl   = model.StreamUrl;
     bitrate     = model.Bitrate;
     contentType = model.ContentType;
     yellowPage  = model.YellowPage;
     channelName = model.ChannelName;
     genre       = model.Genre;
     description = model.Description;
     comment     = model.Comment;
     contactUrl  = model.ContactUrl;
     trackTitle  = model.TrackTitle;
     trackAlbum  = model.TrackAlbum;
     trackArtist = model.TrackArtist;
     trackGenre  = model.TrackGenre;
     trackUrl    = model.TrackUrl;
     favorite    = model.Favorite;
 }