public TvShowDetailsViewModel(Guid tvShowId) { _ctx = new MediaCatalogueEntities(); _tvShow = (from media in _ctx.Media_Item where media.id == tvShowId select media).FirstOrDefault(); Title = _tvShow.Title; Description = _tvShow.Description; var segmentIds = from seg in _ctx.Media_Segment where seg.Media_Item.id == tvShowId orderby seg.SectionOffset select seg.id; Segments = new ObservableCollection <TvShowSegment>(); foreach (var seg in segmentIds) { Segments.Add(new TvShowSegment(seg)); } }
protected override CommandResult Update() { if (_ctx == null) { _ctx = new MediaCatalogueEntities(); } if (IsNew) { var tvSeries = (from series in _ctx.TV_Series where series.id == SeriesId select series).FirstOrDefault(); _presenter = new TV_Presenter { id = this.ID, TV_Series = tvSeries }; } _presenter.Name = Name; try { _ctx.SaveChanges(); } catch (Exception) { return(CommandResult.Failed); } return(CommandResult.Successful); }
public void UpdateMusicVideoItem(MusicVideoItem item) { var ent = new MediaCatalogueEntities(); // Find existing Music_Track record var musicTrack = ent.Music_Track.Where(mt => mt.id == item.Id).FirstOrDefault(); if (musicTrack == null) { musicTrack = new Music_Track(); ent.AddToMusic_Track(musicTrack); } musicTrack.Duration = item.PlayLength; // Find/Create Media_Item record musicTrack.Media_ItemReference.Load(); var mediaItem = musicTrack.Media_Item ?? new Media_Item(); mediaItem.Title = item.Name; // Find/Create Artist record if (!string.IsNullOrEmpty(item.Artist)) { var artist = ent.Music_Artist.Where(a => a.Name == item.Artist).FirstOrDefault(); } }
public IEnumerable <MusicVideoItem> SearchVideoItems(string filter) { var ent = new MediaCatalogueEntities(); IQueryable <Guid> mvs; if (string.IsNullOrEmpty(filter)) { mvs = from mv in ent.Music_Track.Include("Media_Item").Include("Music_Artist") select mv.id; } else { mvs = from mv in ent.Music_Track.Include("Media_Item").Include("Music_Artist") where mv.Music_Artist.Name.Contains(filter) || mv.Media_Item.Title.Contains(filter) select mv.id; } var result = new List <MusicVideoItem>(); foreach (var id in mvs) { result.Add(GetMusicVideoItem(id)); } return(result); //return mvs.Select(id => GetMusicVideoItem(id)).ToList(); }
public TvSeriesDetailsViewModel(TV_Series series) { _ctx = new MediaCatalogueEntities(); if (series != null) { _series = (from s in _ctx.TV_Series where s.id == series.id select s).FirstOrDefault(); } if (_series == null) { _series = new TV_Series { id = Guid.NewGuid(), Description = "New Series" }; _ctx.AddToTV_Series(_series); } Description = _series.Description; ID = _series.id; }
//public TvShowsViewModel() //{ // // Get the list of TV shows // _ctx = new MediaCatalogueEntities(); // var tvShowType = MediaCatalogueHelper.GetTvShowType(_ctx); // var showIds = from mediaItem in _ctx.Media_Item // where mediaItem.Media_Type.id == tvShowType.id // select mediaItem.id; // //var shows = from mediaItem in _ctx.Media_Item.Include("Tv_SeriesMedia") // // where mediaItem.TV_SeriesMedia.Count > 0 // // select mediaItem; // foreach (var id in showIds) // { // TvShows.Add(new TvShowViewModel(id)); // } //} /// <summary> /// Creates a new instance of the TvShowsViewModel for a particular Series. /// </summary> /// <param name="seriesId"></param> public TvShowsViewModel(Guid seriesId) { _ctx = new MediaCatalogueEntities(); SeriesID = seriesId; var tvShowType = MediaCatalogueHelper.GetTvShowType(_ctx); //var showIds = from mediaItem in _ctx.Media_Item // where mediaItem.Media_Type.id == tvShowType.id // select mediaItem.id; var showIds = from seriesMedia in _ctx.TV_SeriesMedia .Include("Media_Item") .Include("TV_Series") where seriesMedia.TV_Series.id == SeriesID select seriesMedia.Media_Item.id; //var shows = from mediaItem in _ctx.Media_Item.Include("Tv_SeriesMedia") // where mediaItem.TV_SeriesMedia.Count > 0 // select mediaItem; TvShows = new ObservableCollection <TvShow>(); foreach (var id in showIds) { TvShows.Add(new TvShow(id)); } }
public IEnumerable <Artist> GetArtists() { var ent = new MediaCatalogueEntities(); return(ent.Music_Artist.OrderBy(a => a.Name).Select(a => new Artist { Id = a.id, Name = a.Name }).ToList()); }
public TvSeriesCategory(Guid categoryId) { _ctx = new MediaCatalogueEntities(); _category = (from cat in _ctx.TV_SeriesCategory where cat.id == categoryId select cat).FirstOrDefault(); ID = _category.id; Title = _category.Title; Description = _category.Description; IsDirty = false; }
public TvSeriesPresenter(Guid presenterId) { _ctx = new MediaCatalogueEntities(); _presenter = (from presenter in _ctx.TV_Presenter where presenter.id == presenterId select presenter).FirstOrDefault(); ID = _presenter.id; Name = _presenter.Name; IsDirty = false; }
protected override CommandResult Update() { if (_ctx == null) { _ctx = new MediaCatalogueEntities(); } if (_tvShow == null) { _tvShow = new Media_Item(); _tvShow.id = ID; _ctx.AddToMedia_Item(_tvShow); } // Update the various Entity objects with changes made and save them. _tvShow.Title = Title; _tvShow.Description = Description; // Find/create a TV SeriesMedia link if (SeriesID != Guid.Empty) { if ((from seriesMedia in _ctx.TV_SeriesMedia .Include("TV_Series") .Include("Media_Item") where seriesMedia.Media_Item.id == _tvShow.id && seriesMedia.TV_Series.id == SeriesID select seriesMedia.id).Count() == 0) { // No TV_SeriesMedia record exists yet - create one var tvSeriesMedia = new TV_SeriesMedia { id = Guid.NewGuid(), Media_Item = _tvShow, }; tvSeriesMedia.TV_Series = (from series in _ctx.TV_Series where series.id == SeriesID select series).FirstOrDefault(); } } try { _ctx.SaveChanges(); } catch (Exception) { return(CommandResult.Failed); } return(CommandResult.Successful); }
public TvSeriesListViewModel() { _ctx = new MediaCatalogueEntities(); _seriesCollection = new ObservableCollection <TvSeriesDetailsViewModel>(); var seriesColl = (from series in _ctx.TV_Series orderby series.Description select series); foreach (var series in seriesColl) { _seriesCollection.Add(new TvSeriesDetailsViewModel(series)); } OnPropertyChanged("TvSeries"); }
public MusicVideoItem GetMusicVideoItem(Guid id) { var ent = new MediaCatalogueEntities(); var mv = ent.Music_Track.Where(mt => mt.id == id).FirstOrDefault(); if (mv == null) { return(null); } // A MusicTrack should have a linked Music_Artist, Music_Genre, and Media_Item // A Media_Item should have a linked Media_File mv.Media_ItemReference.Load(); mv.Music_ArtistReference.Load(); //mv.Media_Item. var result = new MusicVideoItem { Id = mv.id, Name = mv.Media_Item == null ? string.Empty : mv.Media_Item.Title, Artist = mv.Music_Artist == null ? string.Empty : mv.Music_Artist.Name, PlayLength = mv.Duration.HasValue ? mv.Duration.Value : 0 }; // Get Media_File info if (mv.Media_Item != null) { mv.Media_Item.Media_FileReference.Load(); var mediaFileInfo = mv.Media_Item.Media_File; if (mediaFileInfo != null) { result.FileInfo = new MediaFileInfo { Filename = mediaFileInfo.Filename, ModifiedDate = mediaFileInfo.ModifiedDate, Size = mediaFileInfo.Size }; } } return(result); }
public TvShowSegment(Guid segmentId) { _ctx = new MediaCatalogueEntities(); _segment = (from seg in _ctx.Media_Segment .Include("Media_Item") .Include("TV_Presenter") .Include("TV_SeriesCategory") where seg.id == segmentId select seg).FirstOrDefault(); ID = segmentId; if (_segment != null) { var seriesId = (from sm in _ctx.TV_SeriesMedia where sm.Media_Item.id == _segment.Media_Item.id select sm.TV_Series.id).FirstOrDefault(); Presenters = MediaCatalogueHelper.GetTvSeriesPresenters(seriesId, _ctx); Categories = MediaCatalogueHelper.GetTvSeriesCategories(seriesId, _ctx); Title = _segment.Title; Description = _segment.Description; StartOffset = _segment.SectionOffset; SectionLength = _segment.SectionLength; if (_segment.TV_Presenter != null) { Presenter = (from pres in Presenters where pres.ID == _segment.TV_Presenter.id select pres).FirstOrDefault(); } if (_segment.TV_SeriesCategory != null) { Category = (from cat in Categories where cat.ID == _segment.TV_SeriesCategory.id select cat).FirstOrDefault(); } } IsDirty = false; }
public TvSeriesPresentersViewModel(Guid tvSeriesId) { _ctx = new MediaCatalogueEntities(); var presenterIds = from pres in _ctx.TV_Presenter .Include("TV_Series") where pres.TV_Series.id == tvSeriesId orderby pres.Name select pres.id; _tvSeriesId = tvSeriesId; Presenters = new ObservableCollection <TvSeriesPresenter>(); foreach (var presenterId in presenterIds) { Presenters.Add(new TvSeriesPresenter(presenterId)); } }
public static List <TvSeriesCategory> GetTvSeriesCategories(Guid tvSeriesId, MediaCatalogueEntities ctx) { var categoryIds = from category in ctx.TV_SeriesCategory where category.TV_Series.id == tvSeriesId orderby category.Title select category.id; var categoriesList = new List <TvSeriesCategory>(); foreach (var cId in categoryIds) { categoriesList.Add(new TvSeriesCategory(cId)); } return(categoriesList); //return (from sc in ctx.TV_SeriesCategory // where sc.TV_Series.id == tvSeriesId // orderby sc.Title // select sc).ToList(); }
public TvSeriesCategoriesViewModel(Guid tvSeriesId) { var ctx = new MediaCatalogueEntities(); _tvSeriesId = tvSeriesId; var categories = from cat in ctx.TV_SeriesCategory .Include("TV_Series") where cat.TV_Series.id == tvSeriesId orderby cat.Title select cat.id; var catList = new ObservableCollection <TvSeriesCategory>(); foreach (var categ in categories) { catList.Add(new TvSeriesCategory(categ)); } Categories = catList; }
public static TvShowSegment NewSegment(Guid tvShowId) { var ctx = new MediaCatalogueEntities(); var seg = new TvShowSegment { ID = Guid.NewGuid(), ParentID = tvShowId, Title = "new segment", Description = "enter a description for this segment." }; var tvSeriesId = (from ser in ctx.TV_SeriesMedia .Include("TV_Series") where ser.Media_Item.id == tvShowId select ser.TV_Series.id).FirstOrDefault(); seg.Presenters = MediaCatalogueHelper.GetTvSeriesPresenters(tvSeriesId, ctx); seg.Categories = MediaCatalogueHelper.GetTvSeriesCategories(tvSeriesId, ctx); return(seg); }
protected override CommandResult Update() { if (_ctx == null) { _ctx = new MediaCatalogueEntities(); } if (IsNew) { var tvSeries = (from series in _ctx.TV_Series where series.id == SeriesID select series).FirstOrDefault(); // Note: Because we are attaching a Series to the SeriesCategory, the SeriesCategory // is automatically associated with the DataContext we are using - no need to manually add it. _category = new TV_SeriesCategory { id = this.ID, TV_Series = tvSeries }; } _category.Title = Title; _category.Description = Description; try { _ctx.SaveChanges(); } catch (Exception) { return(CommandResult.Failed); } return(CommandResult.Successful); }
/// <summary> /// Creates a new instance of the TvShowViewModel, loading the Media_Item entity /// with the specified id. /// </summary> /// <param name="id"></param> public TvShow(Guid id) { _ctx = new MediaCatalogueEntities(); _tvShow = (from mi in _ctx.Media_Item .Include("TV_SeriesMedia") where mi.id == id select mi).FirstOrDefault(); if (_tvShow.TV_SeriesMedia != null) { var seriesMediaId = _tvShow.TV_SeriesMedia.FirstOrDefault().id; SeriesID = (from seriesMedia in _ctx.TV_SeriesMedia .Include("TV_Series") where seriesMedia.id == seriesMediaId select seriesMedia.TV_Series.id).FirstOrDefault(); } ID = id; Title = _tvShow.Title; Description = _tvShow.Description; IsDirty = false; }
public static List <TvSeriesPresenter> GetTvSeriesPresenters(Guid tvSeriesId, MediaCatalogueEntities ctx) { var presenterIds = from presenter in ctx.TV_Presenter where presenter.TV_Series.id == tvSeriesId orderby presenter.Name select presenter.id; var presentersList = new List <TvSeriesPresenter>(); foreach (var pId in presenterIds) { presentersList.Add(new TvSeriesPresenter(pId)); } return(presentersList); //return (from pres in ctx.TV_Presenter // where pres.TV_Series.id == tvSeriesId // orderby pres.Name // select pres).ToList(); }
public MusicImportViewModel() { _ctx = new MediaCatalogueEntities(); }
public static Media_Type GetTvShowType(MediaCatalogueEntities ctx) { return((from mt in ctx.Media_Type where mt.id == _tvShowId select mt).FirstOrDefault()); }
protected override CommandResult Update() { if (_ctx == null) { _ctx = new MediaCatalogueEntities(); } if (IsNew) { _segment = new Media_Segment { id = this.ID }; _segment.Media_Item = (from media in _ctx.Media_Item where media.id == ParentID select media).FirstOrDefault(); _ctx.AddToMedia_Segment(_segment); } _segment.Title = this.Title; _segment.Description = this.Description; _segment.SectionOffset = this.StartOffset; _segment.SectionLength = this.SectionLength; //var seg = (from segment in _ctx.Media_Segment // where segment.id == ID // select segment).FirstOrDefault(); //if (seg == null) //{ // // Add as a new segment // seg = new Media_Segment // { // id = ID, // Title = this.Title, // Description = this.Description, // SectionOffset = this.StartOffset, // SectionLength = this.SectionLength, // }; // seg.Media_Item = (from media in _ctx.Media_Item // where media.id == ParentID // select media).FirstOrDefault(); // ctx.AddToMedia_Segment(seg); //} //else //{ // seg.Title = this.Title; // seg.Description = this.Description; // seg.SectionOffset = this.StartOffset; // seg.SectionLength = this.SectionLength; //} // Update Presenter if (Presenter == null) { _segment.TV_Presenter = null; } else { _segment.TV_Presenter = (from pres in _ctx.TV_Presenter where pres.id == Presenter.ID select pres).FirstOrDefault(); } // Update SeriesCategory if (Category == null) { _segment.TV_SeriesCategory = null; } else { _segment.TV_SeriesCategory = (from cat in _ctx.TV_SeriesCategory where cat.id == Category.ID select cat).FirstOrDefault(); } try { _ctx.SaveChanges(); } catch (Exception) { return(CommandResult.Failed); } return(CommandResult.Successful); }
public static Media_Type GetMusicVideoType(MediaCatalogueEntities ctx) { return((from mt in ctx.Media_Type where mt.id == _musicVideoClipId select mt).FirstOrDefault()); }