Exemple #1
0
        public T FromEntity <T>(IMediaSourceEntity entity) where T : IMediaSource
        {
            IMediaSource    result     = null;
            MediaFileEntity fileEntity = entity as MediaFileEntity;

            if (fileEntity != null)
            {
                var fileSource = new FileMediaSource(fileEntity);
                result = fileSource;
            }
            else
            {
                ChannelInfo ci = entity as ChannelInfo;
                if (ci != null)
                {
                    var channelSource = new ChannelMediaSource(ci);
                    result = channelSource;
                }
                else
                {
                    throw new ArgumentException();
                }
            }
            return((T)result);
        }
Exemple #2
0
        public T ToEntity <T>(IMediaSource mediaSource) where T : IMediaSourceEntity
        {
            IMediaSourceEntity result = null;
            var fileMediaSource       = mediaSource as FileMediaSource;

            if (fileMediaSource != null)
            {
                MediaFileEntity entity = new MediaFileEntity();
                entity.Id        = fileMediaSource.Id;
                entity.AudioGain = fileMediaSource.AudioGain;
                entity.FileName  = fileMediaSource.FileName;
                entity.Title     = fileMediaSource.Title;
                //entity.OriginalFileName=fileMediaSource.
                //entity.MediaFileCategory=fileMediaSource.me
                entity.Duration = fileMediaSource.Duration.Value.TotalSeconds;
                //entity.MarkerIn=fileMediaSource.m
                result = entity;
                return((T)result);
            }
            else
            {
                var channelSource = mediaSource as ChannelMediaSource;
                if (channelSource != null)
                {
                    var entity = new ChannelInfo();
                    entity.Id    = channelSource.Id;
                    entity.Title = channelSource.Title;
                    //entity.Special
                    result = entity;
                    return((T)result);
                }
                else
                {
                    throw new ArgumentException();
                }
            }
        }