public async Task CreateAsync_ItemIsAdded()
        {
            // Arrange
            var show = new Show()
            {
                Id   = 101,
                Name = "abc"
            };

            // Act
            using (var context = new DatabaseContext(options))
            {
                var showRepository = new ShowRepository(context);
                await showRepository.CreateAsync(show);

                await showRepository.SaveAsync();
            }

            // Assert
            using (var context = new DatabaseContext(options))
            {
                Assert.That(await context.Shows.CountAsync(), Is.EqualTo(4));
                Assert.That((await context.Shows.SingleAsync(q => q.Id == 101)).Name, Is.EqualTo("abc"));
            }
        }
Ejemplo n.º 2
0
 public MediaCenterContext() : base("MC_SQL")
 {
     MovieRepository   = new MovieRepository(this);
     ShowRepository    = new ShowRepository(this);
     EpisodeRepository = new EpisodeRepository(this);
     UserRepository    = new UserRepository(this);
 }
Ejemplo n.º 3
0
 public HallHandler(IMapper mapper, HallRepository repository, SeatRepository seatRepository, ShowRepository showRepository)
 {
     _mapper         = mapper;
     _repository     = repository;
     _seatRepository = seatRepository;
     _showRepository = showRepository;
 }
Ejemplo n.º 4
0
        private Person CreateSamplePerson()
        {
            var newPerson = new Person
            {
                Salutation  = "",
                FirstName   = "Jane",
                MiddleName  = "Anne",
                LastName    = "TestLastName",
                Suffix      = "",
                DateOfBirth = new DateTime(1943, 2, 5),
                HairColorId = 1,
                EyeColorId  = 1
            };

            var creditTypeRepo = new CreditTypeRepository();
            var creditTypes    = creditTypeRepo.Fetch(null).ToList();

            var showRepo = new ShowRepository();
            var shows    = showRepo.Fetch(null).ToList();

            Credit crd1 = new Credit
            {
                ShowId       = shows[0].Id,
                CreditTypeId = creditTypes[0].Id,
                Character    = "Henry"
            };

            newPerson.Credits.Add(crd1);

            return(newPerson);
        }
Ejemplo n.º 5
0
 private String AddShow(Show show)
 {
     RepoShow = new ShowRepository();
     RepoShow.AddNew(show);
     RepoShow.DBSave();
     return("movie id : " + show.MovieId + " , - Cinema id : " + show.CinemaId);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// initialize dbcontext, usermanager and repositories
        /// </summary>
        public ShowController()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            showRep     = new ShowRepository(context);
            userShowRep = new UserShowRepository(context);
        }
Ejemplo n.º 7
0
 public ServerImpl(EmployeeRepository uRepo, ShowRepository sRepo, ArtistRepository aRepo, BuyerRepository bRepo, TicketRepository tRepo)
 {
     userRepository   = uRepo;
     showRepository   = sRepo;
     artistRepository = aRepo;
     buyerRepository  = bRepo;
     ticketRepository = tRepo;
     loggedClients    = new Dictionary <String, IAppObserver>();
 }
Ejemplo n.º 8
0
        public bool Logic()
        {
            var logs = new List <Log>();

            try
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Starting Checker logic", null));

                var showRepo    = new ShowRepository(ConnectionString);
                var episodeRepo = new EpisodeRepository(ConnectionString);

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting enabled shows in database", null));
                var showsInDatabase = showRepo.Select().Where(x => x.Enabled == true && x.Download == true).ToList();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {showsInDatabase.Count} shows in database", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting episodes in database", null));
                var episodesInDatabase = episodeRepo.Select();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {episodesInDatabase.Count} episodes in database", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Looping through shows", null));
                foreach (var show in showsInDatabase)
                {
                    // Get total episodes and status
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting show data from source", null));
                    var status = GetStatus(show.Source, show.Url);

                    // Check if current amount of episodes == total episodes and status is downloaded
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting episodes downloaded", null));
                    var episodesByShow = episodesInDatabase.Where(x => x.ShowId == show.Id && x.Status == EpisodeStatus.DOWNLOADED).ToList();
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {episodesByShow} episodes downloaded", null));

                    // if yes then disable drama -> Enabled = false
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Checking if it has to be disabled", null));
                    if (episodesByShow.Count == status.Item1 && status.Item2)
                    {
                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Disabling show {show.Title}", null));
                        show.Enabled = false;
                        showRepo.Update(show);
                    }
                    else
                    {
                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"{show.Title} is still in progres", null));
                    }
                }
            }
            catch (Exception e)
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.ERROR, e.Message, e.StackTrace));
            }

            logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Finished Checker logic", null));

            LogRepository.Create(logs);

            return(true);
        }
Ejemplo n.º 9
0
        public void Initialize()
        {
            _showRepo = new ShowRepository();
            _ratingRepo = new MpaaRatingRepository();
            _creditTypeRepo = new CreditTypeRepository();
            _personRepo = new PersonRepository();

            _ratings = _ratingRepo.Fetch().ToList();
            _creditTypes = _creditTypeRepo.Fetch().ToList();
            _shows = _showRepo.Fetch().ToList();
        }
        public static CachedShowApplication CreateCachedShowApplication(MazeDbContext mazeDbContext)
        {
            var configuration                 = TestUtility.GetIConfigurationRoot(TestContext.CurrentContext.TestDirectory);
            var mazeCachedServiceConfig       = configuration.GetSection("MazeCacheConfig");
            var mazeCachedServiceConfigOption = Options.Create <MazeCacheConfig>(mazeCachedServiceConfig.Get <MazeCacheConfig>());

            var decorated      = CreateShowApplication();
            var showRepository = new ShowRepository(mazeDbContext);

            return(new CachedShowApplication(showRepository, mazeCachedServiceConfigOption, decorated));
        }
Ejemplo n.º 11
0
        public void Initialize()
        {
            _showRepo       = new ShowRepository();
            _genreRepo      = new GenreRepository();
            _creditTypeRepo = new CreditTypeRepository();
            _personRepo     = new PersonRepository();

            _genres      = _genreRepo.Fetch().ToList();
            _creditTypes = _creditTypeRepo.Fetch().ToList();
            _people      = _personRepo.Fetch().ToList();
        }
Ejemplo n.º 12
0
        public void Initialize()
        {
            _showRepo       = new ShowRepository();
            _ratingRepo     = new MpaaRatingRepository();
            _creditTypeRepo = new CreditTypeRepository();
            _personRepo     = new PersonRepository();

            _ratings     = _ratingRepo.Fetch().ToList();
            _creditTypes = _creditTypeRepo.Fetch().ToList();
            _shows       = _showRepo.Fetch().ToList();
        }
Ejemplo n.º 13
0
        public ShowControllerTests()
        {
            var ctx = TestDbUtilities <ShowContext> .BuildInMemoryContext();

            var repo = new ShowRepository(ctx);

            var configuration = new MapperConfiguration(cfg => cfg.AddProfile <ShowMaps>());
            var mapper        = new Mapper(configuration);

            _controller = new ShowsController(repo, mapper);
        }
Ejemplo n.º 14
0
        public void CreateAsync_ShowIsNull()
        {
            // Given
            Show show = null;

            using (var context = new DatabaseContext(options))
            {
                var showRepository = new ShowRepository(context);

                Assert.ThrowsAsync <ArgumentNullException>(async() => await showRepository.CreateAsync(show));
            }
        }
Ejemplo n.º 15
0
        public void TestManagerShows()
        {
            var show = new Show()
            {
                Id   = MockIds.GetNextId(),
                Name = "Barac live set"
            };
            var managerUserController = new ManagerUserController(MockFactory.RandomManager());

            managerUserController.AddShow(show);
            Assert.AreEqual(show.Name, ShowRepository.GetTodaysShow().Name);
        }
Ejemplo n.º 16
0
        public void Cleanup()
        {
            var _showRepo = new ShowRepository();
            var list      = _showRepo.Fetch(null).ToList();

            var toDelete = list.Where(o => o.Title == "TestTitle" || o.Title == "XYZ");

            foreach (var item in toDelete)
            {
                item.IsMarkedForDeletion = true;
                _showRepo.Persist(item);
            }
        }
Ejemplo n.º 17
0
        public bool Logic()
        {
            var logs = new List <Log>();

            try
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Starting Downloader logic", null));

                var showRepo    = new ShowRepository(ConnectionString);
                var episodeRepo = new EpisodeRepository(ConnectionString);

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Getting shows from database", null));
                var showsInDatabase = showRepo.Select().Where(x => x.Download == true && x.Enabled == true).ToList();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {showsInDatabase.Count} shows in database", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Getting episodes from database", null));
                var episodesInDatabase = episodeRepo.Select();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {episodesInDatabase.Count} in database", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Looping through shows that are enabled to download", null));
                foreach (var show in showsInDatabase)
                {
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Checking episodes scraped", null));
                    var episodesByShow = episodesInDatabase.Where(x => x.ShowId == show.Id && x.Status == EpisodeStatus.SCRAPED).OrderBy(y => y.Filename).ToList();
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {episodesByShow.Count} to download", null));

                    foreach (var episode in episodesByShow)
                    {
                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Downloading {episode.Filename}", null));
                        var path = System.IO.Path.Combine(Path, show.Title);
                        episode.Status = DownloadHelpers.DownloadFile(episode.Url, path, episode.Filename) ? EpisodeStatus.DOWNLOADED : EpisodeStatus.FAILED;

                        var downloadMessage = episode.Status == EpisodeStatus.DOWNLOADED ? "successfully" : "failed";
                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Downladed {downloadMessage}", null));

                        episodeRepo.Update(episode);
                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Updated show", null));
                    }
                }
            }
            catch (Exception e)
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, e.Message, e.StackTrace));
            }

            logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Finished Downloader logic", null));

            LogRepository.Create(logs);

            return(true);
        }
Ejemplo n.º 18
0
        public void ShowRepository_InsertUpdateDelete_Works()
        {
            // Arrange
            var repo = new ShowRepository();
            var testItem = new Show
            {
                Title = "TestTitle",
                LengthInMinutes = 100,
                MpaaRatingId = 3,
                TheatricalReleaseDate = new DateTime(2000,1,31),
                DvdReleaseDate = new DateTime(2000, 4, 1)
            };

            // Act - Insert
            var insertedItem = repo.Persist(testItem);
            var newId = insertedItem.ShowId;

            // Assert for Insert
            Assert.IsTrue(newId > 0);
            var existingItem = repo.Fetch(newId).Single();
            Assert.IsTrue(existingItem.Title== "TestTitle");
            Assert.IsTrue(existingItem.LengthInMinutes == 100);
            Assert.IsTrue(existingItem.TheatricalReleaseDate == new DateTime(2000,1,31));
            Assert.IsTrue(existingItem.DvdReleaseDate == new DateTime(2000, 4, 1));

            // Act - Update

            existingItem.Title = "TestTitle1";
            existingItem.LengthInMinutes = 101;
            existingItem.MpaaRatingId = 4;
            existingItem.TheatricalReleaseDate = new DateTime(2001, 1, 31);
            existingItem.DvdReleaseDate = new DateTime(2001, 4, 1);

            repo.Persist(existingItem);

            // Assert for Update
            var updatedItem = repo.Fetch(newId).Single();
            Assert.IsTrue(updatedItem.Title== "TestTitle1");
            Assert.IsTrue(updatedItem.LengthInMinutes == 101);
            Assert.IsTrue(updatedItem.TheatricalReleaseDate == new DateTime(2001,1,31));
            Assert.IsTrue(updatedItem.DvdReleaseDate == new DateTime(2001, 4, 1));

            // Act - Delete
            updatedItem.IsMarkedForDeletion = true;
            var deletedItem = repo.Persist(updatedItem);

            // Assert for Delete
            Assert.IsNull(deletedItem);
            var emptyResult = repo.Fetch(newId);
            Assert.IsFalse(emptyResult.Any());
        }
Ejemplo n.º 19
0
        public void ShowRepository_FetchAll_ReturnsData()
        {
            // Arrange
            var repo = new ShowRepository();

            // Act
            var results = repo.Fetch();

            // Assert
            Assert.IsTrue(results != null);
            Assert.IsTrue(results.Any());
            Assert.IsTrue(results.Count() == 2);
            Assert.IsTrue(results.ToList()[1].Title == "Philomena");
        }
Ejemplo n.º 20
0
        public bool Logic()
        {
            var logs = new List <Log>();

            try
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Starting Metadata logic", null));

                var showRepo     = new ShowRepository(ConnectionString);
                var metadataRepo = new MetadataRepository(ConnectionString);

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting shows in database", null));
                var showsInDatabase = showRepo.Select();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {showsInDatabase.Count} shows", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting metadatas in database", null));
                var metadataInDatabase = metadataRepo.Select();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {metadataInDatabase.Count} shows", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Getting shows that does not have metadata", null));

                //2433

                var showsWithoutMetadata = (from shows in showsInDatabase
                                            join metadata in metadataInDatabase on shows.Id equals metadata.ShowId into md
                                            from metadata in md.DefaultIfEmpty()
                                            select new { shows }).ToList();

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Found {showsWithoutMetadata.Count} shows without metadata", null));

                foreach (var show in showsWithoutMetadata)
                {
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Looking for {show.shows.Title} metadata", null));
                    var metadata    = GetMetadata(show.shows.Source, show.shows.Url);
                    var newMetadata = new Data.Model.Metadata(show.shows.Id, metadata.ImageUrl, metadata.Plot, metadata.Cast, metadata.Language);
                    metadataRepo.Create(newMetadata);
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Metadata added successfully", null));
                }
            }
            catch (Exception e)
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, e.Message, e.StackTrace));
            }

            logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Finished Metadata logic", null));

            LogRepository.Create(logs);

            return(true);
        }
Ejemplo n.º 21
0
        public void Initialize()
        {
            var options = new DbContextOptionsBuilder <ShowContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            this.context        = new ShowContext(options);
            this.showRepoLogger = new DebugLogger <ShowRepository>();
            var showRepo = new ShowRepository(this.showRepoLogger, this.context);

            var svclogger = new DebugLogger <ShowService>();

            this.showService = new ShowService(showRepo, svclogger, new MockMessageHub());
        }
Ejemplo n.º 22
0
        public void ShowRepository_Delete_Deletes()
        {
            // Arrange
            var repo = new ShowRepository();
            var existingItem = repo.Fetch(1).Single();

            // Act
            existingItem.IsMarkedForDeletion = true;
            var deletedItem = repo.Persist(existingItem);

            // Assert for Delete
            Assert.IsNull(deletedItem);
            var emptyResult = repo.Fetch(3);
            Assert.IsFalse(emptyResult.Any());
        }
Ejemplo n.º 23
0
        public void Initialize()
        {
            // var connstr = ConfigurationManager.ConnectionStrings["ShowConnection"].ConnectionString;
            var connstr = @"Server=.\sqlexpress;Database=tvmaze;Trusted_Connection=True;Connection Timeout=30;Application Name=TvMazeScraperTest";
            var options = new DbContextOptionsBuilder <ShowContext>()
                          .UseSqlServer(connstr)
                          .Options;
            var context = new ShowContext(options);

            var repologger = new DebugLogger <ShowRepository>();
            var showRepo   = new ShowRepository(repologger, context);

            this.showServiceLogger = new DebugLogger <ShowService>();
            this.showService       = new ShowService(showRepo, this.showServiceLogger, new MockMessageHub());
        }
Ejemplo n.º 24
0
        public ActionResult Create(string title)
        {
            /* The title parameter allows user to pass us the value in the URL.
             * As a potential convenience, as it will pre-fill the form.
             * Because we fill out the model with that date,
             * then pass the model to the view, and that will pre-fill the form.
             */
            ShowModel show = new ShowModel
            {
                Id    = ShowRepository.GenerateId(),
                Title = title
            };

            return(View(show));
        }
Ejemplo n.º 25
0
        public void ShowRepository_FetchOne_ReturnsData()
        {
            // Arrange
            var repo = new ShowRepository();

            // Act
            var results = repo.Fetch(1);

            // Assert
            Assert.IsTrue(results != null);
            Assert.IsTrue(results.Any());
            Assert.IsTrue(results.Count() == 1);
            Assert.IsTrue(results.Single().ShowId == 1);
            Assert.IsTrue(results.Single().Credits.Count() == 6);
            Assert.IsTrue(results.Single().ShowGenres.Count() == 1);
        }
Ejemplo n.º 26
0
        public static void Main(string[] args)
        {
            Console.WriteLine("hi");

            ArtistRepository   artistRepository   = new ArtistRepository();
            EmployeeRepository employeeRepository = new EmployeeRepository();
            BuyerRepository    buyerRepository    = new BuyerRepository();
            ShowRepository     showRepository     = new ShowRepository();
            TicketRepository   ticketRepository   = new TicketRepository();
            IServices          serviceImpl        = new ServerImpl(employeeRepository, showRepository, artistRepository, buyerRepository, ticketRepository);
            AbstractServer     server             = new SerialServer("127.0.0.1", 55555, serviceImpl);

            server.Start();
            Console.WriteLine("Server started ...");
            //Console.WriteLine("Press <enter> to exit...");
            Console.ReadLine();
        }
Ejemplo n.º 27
0
        public bool Logic()
        {
            var logs = new List <Log>();

            try
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Starting Scraper logic", null));

                var showRepo = new ShowRepository(ConnectionString);

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, "Getting shows in database", null));
                var showsInDatabase = showRepo.Select();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {showsInDatabase.Count} shows", null));

                var allShows = new List <Show>();

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Getting shows from sources", null));

                GetAllShows(Source.MYASIANTV)?.ForEach(x => allShows.Add(new Show(x)));
                GetAllShows(Source.ESTRENOSDORAMAS)?.ForEach(x => allShows.Add(new Show(x)));
                GetAllShows(Source.KSHOW)?.ForEach(x => allShows.Add(new Show(x)));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {allShows.Count} counts from sources", null));

                var finalList   = allShows.Where(x => !showsInDatabase.Exists(y => x.Url == y.Url)).ToList();
                var distinctAux = finalList
                                  .GroupBy(x => x.Url)
                                  .Select(x => x.First()).ToList();

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"{distinctAux.Count} shows will be added", null));

                showRepo.Create(finalList);

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Shows added successfully", null));
            }
            catch (Exception e)
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, e.Message, e.StackTrace));
            }

            logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Finished Scraper logic", null));

            LogRepository.Create(logs);

            return(true);
        }
Ejemplo n.º 28
0
 public UnitOfWork(CinemaContext context, FilmRepository film,
                   FilmStoryRepository filmStory,
                   HallRepository hall,
                   PlaceRepository place,
                   RowRepository row,
                   ShowRepository show,
                   UserRepository user)
 {
     _context  = context;
     Films     = film;
     FilmStory = filmStory;
     Halls     = hall;
     Places    = place;
     Rows      = row;
     Shows     = show;
     Users     = user;
 }
Ejemplo n.º 29
0
        public void PersonRepository_CreditDirty_SetsGraphDirty()
        {
            // Arrange
            var repo = new PersonRepository();
            var all = repo.Fetch(null).ToList();
            var personId = all[0].PersonId;
            var fullName = all[0].FullName;

            var item = repo.Fetch(personId).Single();

            // Add one Credit to change a leaf
            // of the object graph

            var creditTypeRepository = new CreditTypeRepository();
            var ct = creditTypeRepository.Fetch().First();
            var showRepository = new ShowRepository();
            var s = showRepository.Fetch().First();
            var c = new Credit()
            {
                CreditTypeId = ct.CreditTypeId,
                ShowId = s.ShowId
            };

            item.Credits.Add(c);

            Assert.IsNotNull(item);
            Assert.IsTrue(item.PersonId == personId);
            Assert.IsTrue(item.FullName == fullName);
            Assert.IsFalse(item.IsMarkedForDeletion);

            // The IsDirty flag should be false
            Assert.IsFalse(item.IsDirty);

            // The HasChanges property should
            // be true, indicating the change to ShowGenres
            Assert.IsTrue(item.IsGraphDirty);
        }
Ejemplo n.º 30
0
        public void ShowRepository_Insert_Inserts()
        {
            // Arrange
            var repo = new ShowRepository();
            var testItem = new Show
            {
                Title = "TestTitle",
                LengthInMinutes = 100,
                MpaaRatingId = 3,
                TheatricalReleaseDate = new DateTime(2000,1,31),
                DvdReleaseDate = new DateTime(2000, 4, 1)
            };
            // For ShowGenre, both ShowId and ShowGenreId should
            // be assigned by repository
            testItem.ShowGenres.Add(new ShowGenre { GenreId = 2 });

            // For Credit, both CreditId and ShowId should be
            // assigned by repository
            testItem.Credits.Add(new Credit { PersonId = 1, CreditTypeId = 1, Character = "Pooh" });

            // Act
            var insertedItem = repo.Persist(testItem);
            var newId = insertedItem.ShowId;

            // Assert
            Assert.IsTrue(newId > 0);
            var existingItem = repo.Fetch(newId).Single();
            Assert.IsTrue(existingItem.Title== "TestTitle");
            Assert.IsTrue(existingItem.LengthInMinutes == 100);
            Assert.IsTrue(existingItem.TheatricalReleaseDate == new DateTime(2000,1,31));
            Assert.IsTrue(existingItem.DvdReleaseDate == new DateTime(2000, 4, 1));
            Assert.IsTrue(existingItem.MpaaRatingId == 3);
            Assert.IsTrue(existingItem.Credits.Single().CreditId > 0);
            Assert.IsTrue(existingItem.Credits.Single().ShowId == newId);
            Assert.IsTrue(existingItem.Credits.Single().Character == "Pooh");
        }
Ejemplo n.º 31
0
        public void ShowRepository_Update_Updates()
        {
            /// todo: Add child updates
            // Arrange
            var repo = new ShowRepository();
            var existingItem = repo.Fetch(1).Single();

            // Act - Update
            existingItem.Title = "TestTitle";
            existingItem.LengthInMinutes = 100;
            existingItem.MpaaRatingId = 3;
            existingItem.TheatricalReleaseDate = new DateTime(2000, 1, 31);
            existingItem.DvdReleaseDate = new DateTime(2000, 4, 1);
            repo.Persist(existingItem);

            // Assert for Update
            var updatedItem = repo.Fetch(1).Single();
            Assert.IsTrue(updatedItem.Title== "TestTitle");
            Assert.IsTrue(updatedItem.LengthInMinutes == 100);
            Assert.IsTrue(updatedItem.TheatricalReleaseDate == new DateTime(2000,1,31));
            Assert.IsTrue(updatedItem.DvdReleaseDate == new DateTime(2000, 4, 1));
        }
Ejemplo n.º 32
0
 public ShowService(ShowRepository showRepository)
 {
     this.showRepository = showRepository;
 }
Ejemplo n.º 33
0
 public LiveController()
 {
     _showRepository = new ShowRepository();
     _eventRepository = new EventRepository();
 }
Ejemplo n.º 34
0
 public LiveController()
 {
     _showRepository  = new ShowRepository();
     _eventRepository = new EventRepository();
 }
Ejemplo n.º 35
0
        private Person CreateSamplePerson()
        {
            var newPerson = new Person
            {
                Salutation = "",
                FirstName = "Jane",
                MiddleName = "Anne",
                LastName = "TestLastName",
                Suffix = "",
                StageName = "",
                Weight = 120.5,
                DateOfBirth = new DateTime(1943, 2, 5),
                HairColorId = 1,
                EyeColorId = 1
            };

            var creditTypeRepo = new CreditTypeRepository();
            var creditTypes = creditTypeRepo.Fetch(null).ToList();

            var showRepo = new ShowRepository();
            var shows = showRepo.Fetch(null).ToList();

            Credit crd1 = new Credit
            {
                ShowId = shows[0].ShowId,
                CreditTypeId = creditTypes[0].CreditTypeId,
                Character = "Henry"
            };
            newPerson.Credits.Add(crd1);

            return newPerson;
        }
Ejemplo n.º 36
0
        public bool Logic()
        {
            var logs = new List <Log>();

            try
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Starting Enqueuer logic", null));

                var showRepo    = new ShowRepository(ConnectionString);
                var episodeRepo = new EpisodeRepository(ConnectionString);

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Getting shows from database", null));
                var showsInDatabase = showRepo.Select().Where(x => x.Download ?? true).ToList();
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {showsInDatabase.Count} shows in database", null));

                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Looping through shows", null));
                foreach (var show in showsInDatabase)
                {
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Checking {show.Title}", null));

                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Getting episodes in database of show: {show.Title}", null));
                    var episodesInDatabase = episodeRepo.Select().Where(x => x.ShowId == show.Id).ToList();
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {episodesInDatabase.Count} episodes in database of show: {show.Title}", null));

                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Getting episodes of show: {show.Title} that status is not downloaded", null));
                    var episodesByShow = episodesInDatabase.Where(x => x.Status == EpisodeStatus.UNKNOWN || x.Status == EpisodeStatus.FAILED && x.Status != EpisodeStatus.DOWNLOADED).ToList();
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {episodesByShow} episodes in database of show: {show.Title}", null));

                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Getting episodes of show: {show.Title} in sources", null));
                    var newepisodes = GetEpisodesBySource(episodesByShow, show);
                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Found {newepisodes.Count} episodes of show: {show.Title} in sources", null));


                    logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Looping through {show.Title} episodes", null));
                    foreach (var item in newepisodes)
                    {
                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, $"Checking {item.Filename}", null));

                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Checking if episode exists", null));
                        var ep = episodesByShow.SingleOrDefault(x => x.Filename == item.Filename);

                        logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Checking if episode exists as scraped or downloaded", null));
                        var existsAsScraperOrDownloaded = episodesInDatabase.SingleOrDefault(x => x.Filename == item.Filename && (x.Status == EpisodeStatus.SCRAPED || x.Status == EpisodeStatus.DOWNLOADED));

                        if (existsAsScraperOrDownloaded != null)
                        {
                            logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Episode already downloaded", null));
                            continue;
                        }

                        if (ep != null)
                        {
                            if (item.Status != ep.Status && ep.Status != EpisodeStatus.DOWNLOADED)
                            {
                                logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Episode type updated to download", null));
                                episodeRepo.Update(item);
                                showRepo.Update(show);
                            }
                        }
                        else
                        {
                            logs.Add(new Log(Core.Enums.LogHelpers.LogType.DEBUG, $"Episode added to download queue", null));
                            episodeRepo.Create(item);
                            showRepo.Update(show);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, e.Message, e.StackTrace));
            }

            logs.Add(new Log(Core.Enums.LogHelpers.LogType.INFO, "Finished Enqueuer logic", null));

            LogRepository.Create(logs);

            return(true);
        }
Ejemplo n.º 37
0
 protected override void SetupRepository()
 {
     _context        = CreateDbContext();
     _showRepository = new ShowRepository(_context);
 }
Ejemplo n.º 38
0
 public ShowService()
 {
     _showRepository   = new ShowRepository();
     _ticketRepository = new TicketRepository();
     _exporterFactory  = new ExporterFactory();
 }
Ejemplo n.º 39
0
        /// <summary>
        /// initialize constructor
        /// </summary>
        public BrowseController()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            showRep = new ShowRepository(context);
        }
Ejemplo n.º 40
0
 public RepoTest()
 {
     _repo = new ShowRepository();
 }