public Show(ShowRecord record)
 {
     id        = record.id;
     movieId   = record.movieId;
     roomId    = record.roomId;
     startTime = record.startTime;
 }
Exemple #2
0
        // Deletes the specified room
        public bool DeleteShow(Show show)
        {
            Program            app = Program.GetInstance();
            ReservationService reservationService = app.GetService <ReservationService>("reservations");
            Database           database           = app.GetDatabase();

            // Find record
            ShowRecord record = database.shows.SingleOrDefault(i => i.id == show.id);

            if (record == null)
            {
                return(false);
            }

            // Remove record and related reservations
            database.shows.Remove(record);

            foreach (Reservation reservation in reservationService.GetReservationsByShow(show))
            {
                reservationService.DeleteReservation(reservation);
            }

            // Try to save
            database.TryToSave();

            return(true);
        }
Exemple #3
0
        private void button7_Click(object sender, EventArgs e)
        {
            rec = new Recorder(new RecorderParams("out.avi", 10, SharpAvi.KnownFourCCs.Codecs.MotionJpeg, 70));

            showRec = new ShowRecord(new CancellationTokenSource(), i => label1.Text = i.ToString());

            showRec.Show();
        }
Exemple #4
0
        public void DifferentShowId()
        {
            ShowRecord show1 = new ShowRecord()
            {
                Title = "Game of Thrones"
            };

            Assert.AreEqual(_repo.checkIfShowAlreadyExists(show1), true);
        }
        public static void UpdateByViewModel(ShowRecord record, ShowVm showVm)
        {
            record.DateModified = DateTime.UtcNow;

            record.Title       = showVm.Title.TrimIt().StripTags();
            record.Description = showVm.Description.TrimIt().StripTags();
            record.StartTime   = showVm.StartTime;
            record.EndTime     = showVm.EndTime;
            record.DetailsUrl  = showVm.DetailsUrl.TrimIt().StripTags();

            record.IsDeleted = showVm.Destroy;
        }
        private static void UpdateByViewModelPicture(EventMetadataRecord eventRec, ShowRecord record,
                                                     ShowVm showVm, IStorageProvider storageProvider)
        {
            var previousPictureUrl = FileUtil.GetPictureUrl(record.Picture, storageProvider);

            if (previousPictureUrl != showVm.Picture)
            {
                record.Picture = FileUtil.ProcessUploadedPicture(record.Picture, showVm.Picture,
                                                                 Path.Combine("event", eventRec.Id.ToString(CultureInfo.InvariantCulture), "shows"),
                                                                 storageProvider);
            }
        }
Exemple #7
0
        private static void UpdateReferenceShow(
            EventMetadataRecord eventMeta,
            EntityRecord venue,
            bool addReference)
        {
            var refShow = eventMeta
                          .ShowRecords
                          .FirstOrDefault(
                s =>
                s.EntityRecord.Id == venue.Id &&
                s.IsReference);

            if (addReference)
            {
                // creating a new ref show if venue is empty and there was no ref before
                if (refShow == null)
                {
                    refShow = new ShowRecord
                    {
                        EventMetadataRecord = eventMeta,
                        EntityRecord        = venue,
                        DateCreated         = DateTime.UtcNow,
                        IsReference         = true
                    };
                    eventMeta.ShowRecords.Add(refShow);
                }
                // restoring existing ref show
                else
                {
                    refShow.IsDeleted = false;
                }
            }
            else
            {
                // if ref show exists mark it as deleted
                if (refShow != null)
                {
                    refShow.IsDeleted = true;
                }
            }

            if (refShow != null)
            {
                refShow.DateModified = DateTime.UtcNow;
            }
        }
        public static ShowVm CreateViewModel(ShowRecord record, IStorageProvider storageProvider)
        {
            if (record == null)
            {
                throw new ArgumentNullException("record");
            }

            return(new ShowVm
            {
                Id = record.Id,
                Title = record.Title,
                Description = record.Description,
                StartTime = record.StartTime,
                EndTime = record.EndTime,
                Picture = FileUtil.GetPictureUrl(record.Picture, storageProvider),
                DetailsUrl = record.DetailsUrl
            });
        }
Exemple #9
0
        public static List<ParentBase> SampleData()
        {
            if (s_SampleData != null)
                return s_SampleData;
            s_SampleData = new List<ParentBase>();

            // show
            var _Episodes = Enumerable.Range(1, 30).Select(x => new EpisodeRecord
            {
                Title = string.Format("({0}) Module: The quick brown fox jumps over the lazy dog.", x),
                Description = "Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battlefield of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this.",
                Image = "http://media.ch9.ms/ch9/edb0/ebb50974-cbb9-44d6-8448-fd340113edb0/WinStoreAppEssM05_512.jpg",
                Date = DateTime.Now.ToString(),
            });
            for (int i = 0; i < 2; i++)
            {
                var _Show = new ShowRecord
                {
                    Title = string.Format("Show {0}", i),
                    Episodes = new List<EpisodeRecord>(_Episodes.ToArray()),
                };
                s_SampleData.Add(_Show);
            }

            // course
            var _Modules = Enumerable.Range(1, 8).Select(x => new ModuleRecord
            {
                Title = string.Format("({0}) Module: The quick brown fox jumps over the lazy dog.", x),
                Description = "Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure. We are met on a great battlefield of that war. We have come to dedicate a portion of that field, as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this.",
                Image = "http://media.ch9.ms/ch9/edb0/ebb50974-cbb9-44d6-8448-fd340113edb0/WinStoreAppEssM05_512.jpg"
            });
            for (int i = 0; i < 2; i++)
            {
                var _Course = new CourseRecord
                {
                    Title = string.Format("Course {0}", i),
                    Date = DateTime.Now.ToString(),
                    Modules = new List<ModuleRecord>(_Modules.ToArray()),
                };
                s_SampleData.Add(_Course);
            }

            return s_SampleData;
        }
Exemple #10
0
        // Saves the specified room
        public bool SaveShow(Show show)
        {
            Program  app      = Program.GetInstance();
            Database database = app.GetDatabase();
            bool     isNew    = show.id == -1;

            // Validate show
            if (!show.Validate())
            {
                return(false);
            }

            // Set id if its a new show
            if (isNew)
            {
                show.id = database.GetNewId("shows");
            }

            // Find existing record
            ShowRecord record = database.shows.SingleOrDefault(i => i.id == show.id);

            // Add if no record exists
            if (record == null)
            {
                record = new ShowRecord();
                database.shows.Add(record);
            }

            // Update record
            record.id        = show.id;
            record.roomId    = show.roomId;
            record.movieId   = show.movieId;
            record.startTime = show.startTime;

            // Try to save
            database.TryToSave();

            return(true);
        }
Exemple #11
0
        public static Show CreateDataContract(
            ShowRecord record,
            string[] fields,
            string[] storages,
            IStorageProvider storageProvider,
            PictureSize?pictureSize,
            IImageProfileManager imageProfileManager)
        {
            var result = new Show
            {
                Id = record.Id
            };

            if (fields != null)
            {
                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowVenue))
                {
                    result.Venue = GetEntityReferences(record.EntityRecord, storages);
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowIsReference))
                {
                    result.IsReference = record.IsReference;
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowTitle))
                {
                    result.Title = record.Title;
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowDescription))
                {
                    result.Description = record.Description;
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowStartTime))
                {
                    result.StartTime = record.StartTime;
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowEndTime))
                {
                    result.EndTime = record.EndTime;
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowPicture))
                {
                    var picture = FileUtil.GetPictureUrl(record.Picture, storageProvider);
                    result.Picture = FileUtil.GetResizedPicture(picture, pictureSize, imageProfileManager);
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowPictures))
                {
                    var picture = FileUtil.GetPictureUrl(record.Picture, storageProvider);
                    result.Pictures = FileUtil.GetResizedPictures(picture, imageProfileManager);
                }

                if (fields.ContainsIgnoreCase(QueryContext.Instance.ShowDetailsUrl))
                {
                    result.DetailsUrl = record.DetailsUrl;
                }
            }

            return(result);
        }
Exemple #12
0
        public EventMetadataVm SaveEvent(EventMetadataVm eventVm)
        {
            if (eventVm == null)
            {
                throw new ArgumentNullException("eventVm");
            }
            if (eventVm.StartDate == null)
            {
                throw new ArgumentNullException("eventVm.StartDate");
            }

            var host = _entityRepository.Get(eventVm.Host.Id);

            if (host == null)
            {
                throw new ArgumentOutOfRangeException("eventVm.Host");
            }
            if (!Services.Authorizer.Authorize(Permissions.UseAllContent) &&
                host.SmartWalkUserRecord.Id != CurrentUserRecord.Id)
            {
                throw new ArgumentOutOfRangeException("eventVm.Host", "Can't add host created by other user to the event.");
            }

            var eventMeta = _eventMetadataRepository.Get(eventVm.Id) ?? new EventMetadataRecord
            {
                SmartWalkUserRecord = CurrentUserRecord,
                DateCreated         = DateTime.UtcNow
            };

            var access = eventMeta.GetAccess(Services.Authorizer, CurrentUserRecord);

            if (access != AccessType.AllowEdit)
            {
                throw new SecurityException("Can't edit event.");
            }

            if (eventMeta.IsDeleted)
            {
                throw new InvalidOperationException("Can't edit deleted event.");
            }

            if (eventMeta.Status == (byte)EventStatus.Public &&
                !Services.Authorizer.Authorize(Permissions.CreatePublicContent))
            {
                throw new SecurityException("Current user can not make public events.");
            }

            ViewModelFactory.UpdateByViewModel(eventMeta, eventVm, host);

            var venues    = CompressVenues(eventVm.Venues);
            var showsDict = new Dictionary <ShowRecord, ShowVm>();

            foreach (var venueVm in venues)
            {
                var venue = _entityRepository.Get(venueVm.Id);
                if (venue == null)
                {
                    continue;
                }

                SaveVenueDetail(eventMeta, venue, venueVm);

                foreach (var showVm in venueVm.Shows)
                {
                    // ReSharper disable once AccessToForEachVariableInClosure
                    var show = showVm.Id > 0
                        ? eventMeta.ShowRecords.FirstOrDefault(s => s.Id == showVm.Id)
                        : null;
                    if (show == null && !venueVm.Destroy)
                    {
                        show = new ShowRecord
                        {
                            EventMetadataRecord = eventMeta,
                            EntityRecord        = venue,
                            DateCreated         = DateTime.UtcNow
                        };
                        eventMeta.ShowRecords.Add(show);
                    }

                    // if parent venue is deleted, all shows are deleted too
                    if (show != null && venueVm.Destroy)
                    {
                        showVm.Destroy = true;
                    }

                    if (show != null)
                    {
                        show.EntityRecord = venue; // in case if shows moved to another venue
                        ViewModelFactory.UpdateByViewModel(show, showVm);

                        if (!show.IsDeleted)
                        {
                            showsDict.Add(show, showVm);
                        }
                    }
                }

                UpdateReferenceShow(eventMeta, venue,
                                    !venueVm.Destroy && venueVm.Shows.Count(s => !s.Destroy) == 0);
            }

            DestroyMissingVenues(eventMeta, venues);
            RecalcEventCoordinates(eventMeta);

            if (eventMeta.Id == 0)
            {
                _eventMetadataRepository.Create(eventMeta);
            }

            // handling uploaded pictures after event got an Id
            ViewModelFactory.UpdateByViewModelPicture(eventMeta, eventVm, showsDict, _storageProvider);

            _eventMetadataRepository.Flush();

            var result = CreateViewModelContract(eventMeta, null);

            return(result);
        }
Exemple #13
0
        private void CreateOrUpdateShows(
            EventMetadataRecord eventMetadata,
            EntityRecord venue,
            Show[] xmlShows)
        {
            var shows = eventMetadata.ShowRecords;

            if (xmlShows != null && xmlShows.Any())
            {
                foreach (var xmlShow in xmlShows)
                {
                    string title;
                    string description    = null;
                    var    xmlDescription = xmlShow.Desciption.TrimIt();

                    if (xmlDescription.Length >= 255)
                    {
                        title       = xmlDescription.Substring(0, 50);
                        description = xmlDescription;
                    }
                    else
                    {
                        title = xmlDescription;
                    }

                    var show = shows.FirstOrDefault(s =>
                                                    s.EntityRecord.Id == venue.Id &&
                                                    s.Title == title);
                    if (show == null)
                    {
                        show = new ShowRecord
                        {
                            EntityRecord        = venue,
                            EventMetadataRecord = eventMetadata,
                            Title        = title,
                            Description  = description,
                            IsDeleted    = false,
                            DateCreated  = DateTime.UtcNow,
                            DateModified = DateTime.UtcNow,
                        };
                        _showRepository.Create(show);
                        _log.Add(string.Format("{0} show created", show.Title));
                    }

                    show.StartTime  = xmlShow.StartTimeObject;
                    show.EndTime    = xmlShow.EndTimeObject;
                    show.Picture    = xmlShow.Logo.TrimIt();
                    show.DetailsUrl = xmlShow.Web.TrimIt();

                    _showRepository.Update(show);
                    _showRepository.Flush();
                    _log.Add(string.Format("{0} show updated", show.Title));
                }
            }
            else
            {
                var refShow = shows.FirstOrDefault(s =>
                                                   s.EntityRecord.Id == venue.Id &&
                                                   s.IsReference);
                if (refShow == null)
                {
                    refShow = new ShowRecord
                    {
                        EntityRecord        = venue,
                        EventMetadataRecord = eventMetadata,
                        IsReference         = true,
                        IsDeleted           = false,
                        DateCreated         = DateTime.UtcNow,
                        DateModified        = DateTime.UtcNow,
                    };
                    _showRepository.Create(refShow);
                    _showRepository.Flush();
                    _log.Add(string.Format("Reference show created"));
                }
            }
        }