Exemple #1
0
        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;
        }
Exemple #2
0
        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);
        }