예제 #1
0
        public static LastFm FromDynamic(dynamic result)
        {
            LastFm lastFm = null;

            string lastFmId      = result.LastFmId;
            string musicBrainzId = result.MusicBrainzId;

            if (!string.IsNullOrWhiteSpace(lastFmId) || !string.IsNullOrWhiteSpace(musicBrainzId))
            {
                lastFm = new LastFm
                {
                    Details         = result.Details,
                    LastFmId        = lastFmId,
                    Name            = result.Name,
                    LargeImageUrl   = new Uri(result.LargeImageUrl),
                    MediumImageUrl  = new Uri(result.MediumImageUrl),
                    LargestImageUrl = new Uri(result.LargestImageUrl),
                    SmallImageUrl   = new Uri(result.SmallImageUrl),
                    Url             = new Uri(result.Url),
                    DateAdded       = DynamicExtensions.GetDateTimeFromDynamic(result.LastFmDateAdded),
                    DateModified    = result.LastFmDateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.LastFmDateModified)
                };
            }

            return(lastFm);
        }
예제 #2
0
        public static Track FromDynamic(dynamic result)
        {
            var track = new Track
            {
                Id               = DynamicExtensions.GetGuidFromDynamic(result.Id),
                AlbumId          = DynamicExtensions.GetGuidFromDynamic(result.AlbumId),
                Bitrate          = DynamicExtensions.GetIntFromDynamic(result.Bitrate),
                CollectionId     = DynamicExtensions.GetGuidFromDynamic(result.CollectionId),
                ContentType      = result.ContentType,
                DateAdded        = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
                DateFileCreated  = DynamicExtensions.GetDateTimeFromDynamic(result.DateFileCreated),
                DateFileModified = DynamicExtensions.GetDateTimeFromDynamic(result.DateFileModified),
                DateModified     = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified),
                DiscNumber       = DynamicExtensions.GetIntFromDynamic(result.DiscNumber),
                Duration         = TimeSpan.FromMilliseconds(result.Duration),
                Name             = result.Name,
                Number           = DynamicExtensions.GetIntFromDynamic(result.Number),
                Path             = result.Path,
                ReleaseDate      = DynamicExtensions.GetIntFromDynamic(result.ReleaseDate),
                Size             = Convert.ToInt64(result.Size),
                Visible          = Convert.ToBoolean(result.Visible)
            };

            return(track);
        }
예제 #3
0
 public static Album FromDynamic(dynamic result)
 {
     return(new Album
     {
         Id = DynamicExtensions.GetGuidFromDynamic(result.Id),
         CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId),
         DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
         DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified),
         Name = result.Name
     });
 }
예제 #4
0
파일: Chat.cs 프로젝트: jdbahnsen/Resonance
 public static Chat FromDynamic(dynamic result)
 {
     return(new Chat
     {
         User = new User {
             Id = DynamicExtensions.GetGuidFromDynamic(result.UserId)
         },
         Timestamp = DynamicExtensions.GetDateTimeFromDynamic(result.Timestamp).ToUniversalTime(),
         Message = result.Message
     });
 }
예제 #5
0
        public static Genre FromDynamic(dynamic result)
        {
            var genre = new Genre
            {
                Id           = DynamicExtensions.GetGuidFromDynamic(result.Id),
                CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId),
                DateAdded    = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
                DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified),
                Name         = result.Name
            };

            return(genre);
        }
예제 #6
0
        public static Artist FromDynamic(dynamic result)
        {
            var artist = new Artist
            {
                Id           = DynamicExtensions.GetGuidFromDynamic(result.Id),
                CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId),
                DateAdded    = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
                DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified),
                Name         = result.Name
            };

            return(artist);
        }
예제 #7
0
파일: User.cs 프로젝트: jdbahnsen/Resonance
 public static User FromDynamic(dynamic result)
 {
     return(new User
     {
         Id = DynamicExtensions.GetGuidFromDynamic(result.Id),
         EmailAddress = result.EmailAddress,
         Password = result.Password,
         DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
         DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified),
         Enabled = Convert.ToBoolean(result.Enabled),
         Name = result.Name,
     });
 }
예제 #8
0
 public static Collection FromDynamic(dynamic result)
 {
     return(new Collection
     {
         Id = DynamicExtensions.GetGuidFromDynamic(result.Id),
         DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
         DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified),
         Enabled = Convert.ToBoolean(result.Enabled),
         Filter = result.Filter,
         Name = result.Name,
         Path = result.Path
     });
 }
예제 #9
0
 public static Marker FromDynamic(dynamic result)
 {
     return(new Marker
     {
         TrackId = DynamicExtensions.GetGuidFromDynamic(result.TrackId),
         User = new User {
             Id = DynamicExtensions.GetGuidFromDynamic(result.UserId)
         },
         Position = DynamicExtensions.GetLongFromDynamic(result.Position),
         Comment = result.Comment,
         DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
         DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified)
     });
 }
예제 #10
0
 public static Disposition FromDynamic(dynamic result)
 {
     return(new Disposition
     {
         AverageRating = result.AverageRating == null ? null : DynamicExtensions.GetDoubleFromDynamic(result.AverageRating),
         CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId),
         MediaType = (MediaType?)result.MediaTypeId,
         Favorited = result.Favorited == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.Favorited),
         Id = DynamicExtensions.GetGuidFromDynamic(result.DispositionId),
         MediaId = result.MediaId == null?DynamicExtensions.GetGuidFromDynamic(result.Id) : DynamicExtensions.GetGuidFromDynamic(result.MediaId),
                       UserId = DynamicExtensions.GetGuidFromDynamic(result.UserId),
                       UserRating = result.Rating == null ? null : DynamicExtensions.GetIntFromDynamic(result.Rating)
     });
 }
예제 #11
0
 public static Playlist FromDynamic(dynamic result)
 {
     return(new Playlist
     {
         Accessibility = (Accessibility)result.Accessibility,
         Comment = result.Comment,
         Id = DynamicExtensions.GetGuidFromDynamic(result.Id),
         Name = result.Name,
         User = new User {
             Id = DynamicExtensions.GetGuidFromDynamic(result.UserId)
         },
         DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
         DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified)
     });
 }
예제 #12
0
 public static PlayQueue FromDynamic(dynamic result)
 {
     return(new PlayQueue
     {
         Id = DynamicExtensions.GetGuidFromDynamic(result.Id),
         ClientName = result.ClientId,
         CurrentTrackId = result.CurrentTrackId != null?DynamicExtensions.GetGuidFromDynamic(result.CurrentTrackId) : null,
                              Position = result.Position == null?DynamicExtensions.GetLongFromDynamic(result.Position) : null,
                                             User = new User
         {
             Id = DynamicExtensions.GetGuidFromDynamic(result.UserId)
         },
         DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded),
         DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified)
     });
 }
예제 #13
0
        public static Playback FromDynamic(dynamic result)
        {
            if (result.Timestamp == null)
            {
                return(null);
            }

            return(new Playback
            {
                Address = result.Address,
                ClientId = result.ClientId,
                CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId),
                PlaybackDateTime = DynamicExtensions.GetDateTimeFromDynamic(result.Timestamp),
                TrackId = DynamicExtensions.GetGuidFromDynamic(result.Id),
                UserId = DynamicExtensions.GetGuidFromDynamic(result.UserId)
            });
        }
예제 #14
0
        public static MediaInfo FromDynamic(dynamic result)
        {
            var mediaInfo = new MediaInfo();

            var mediaInfoId = result.Id;

            if (mediaInfoId == null)
            {
                return(mediaInfo);
            }

            mediaInfo.Id            = DynamicExtensions.GetGuidFromDynamic(mediaInfoId);
            mediaInfo.MediaId       = DynamicExtensions.GetGuidFromDynamic(result.MediaId);
            mediaInfo.MusicBrainzId = result.MusicBrainzId;
            mediaInfo.LastFm        = Models.LastFm.FromDynamic(result);
            mediaInfo.DateAdded     = DynamicExtensions.GetDateTimeFromDynamic(result.MediaInfoDateAdded);
            mediaInfo.DateModified  = result.MediaInfoDateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.MediaInfoDateModified);

            return(mediaInfo);
        }