/// <summary> /// For images in slideshow /// </summary> /// <param name="filePathName"></param> /// <param name="height"></param> /// <param name="width"></param> /// <param name="duration"></param> /// <param name="order"></param> /// <param name="inSlideShow"></param> public ImageData(string filePathName, int height, int width, int duration, int order, bool inSlideShow) : base(filePathName) { this.thumbNailImage = HelperMethods.BitmapImageToByte(HelperMethods.BitmapToBitmapImage(MediaPlayerLib.Properties.Resources.ImageThumbNail)); this.height = height; this.width = width; this.duration = duration; base.order = order; if (inSlideShow) { //Update database MediaDataMapper mediaDataDataContent = new MediaDataMapper() { Duration = this.Duration, Description = this.Description, Order = this.Order, FilePathName = this.FilePathName, MediaDataType = MediaDataType.Image, ThumbNailImage = this.ThumbNailImage }; this.id = MediaDataQuery.NewMediaData(mediaDataDataContent); } else { this.id = -1; } }
/// <summary> /// Constructor used to restore from database /// </summary> /// <param name="id"></param> public VideoData(int id) { MediaDataMapper mediaDataDataContent = MediaDataQuery.GetMediaData(id); this.id = id; this.filePathName = mediaDataDataContent.FilePathName; this.order = mediaDataDataContent.Order; this.description = mediaDataDataContent.Description; this.thumbNailImage = mediaDataDataContent.ThumbNailImage; }
/// <summary> /// Constructor used to restore from database /// </summary> /// <param name="id"></param> public ImageData(int id) { MediaDataMapper mediaDataDataContent = MediaDataQuery.GetMediaData(id); base.id = id; this.filePathName = mediaDataDataContent.FilePathName; this.order = mediaDataDataContent.Order; this.description = mediaDataDataContent.Description; this.thumbNailImage = mediaDataDataContent.ThumbNailImage; this.duration = mediaDataDataContent.Duration; this.thumbNailImageLoaded = true; try { Image image = Image.FromFile(this.filePathName); this.width = image.Width; this.height = image.Height; } catch { this.width = 0; this.height = 0; } }
/// <summary> /// Constructor used to restore from database /// </summary> /// <param name="id"></param> public SlideShow(int id) { this.id = id; SlideShowMapper slideShowDataContent = SlideShowQuery.GetSlideShow(id); this.name = slideShowDataContent.Name; // Get mediadata and restore those ObservableCollection <MediaData> unsortedMediaDataCollection = new ObservableCollection <MediaData>(); Dictionary <int, MediaDataType> mediaDatas = MediaDataQuery.GetMediaDatas(this.id); foreach (var item in mediaDatas) { MediaData mediaData = null; if (item.Value == MediaDataType.Image) { mediaData = new ImageData(item.Key); } if (item.Value == MediaDataType.Video) { mediaData = new VideoData(item.Key); } if (mediaData != null) { unsortedMediaDataCollection.Add(mediaData); } } if (unsortedMediaDataCollection.Count > 0) { var sortedMediaDataCollection = unsortedMediaDataCollection.OrderBy(x => x.Order); mediaDataCollection = new ObservableCollection <MediaData>(sortedMediaDataCollection); } else { mediaDataCollection = new ObservableCollection <MediaData>(); } }