예제 #1
0
        public void GetSeriesFixtureForSeasonTest()
        {
            const int season = 30;
            const int htSeriesId = 1000;
            var country = TestEntities.CreateCountry(66, "EnglishName", "CountryName");
            List<Series> series = TestEntities.CreateSeries(htSeriesId, country);
            var sessionFactory = SessionFactory.CreateSessionFactory(true);
            using (var session = sessionFactory.OpenSession())
            {
                using (session.BeginTransaction())
                {
                    session.SaveOrUpdate(country);
                    foreach (var league in series)
                    {
                        session.SaveOrUpdate(league);
                    }
                    session.Transaction.Commit();
                }
            }

            var repository = new SeriesRepository(SessionManager.CurrentSession);
            var fixtures = repository.GetSeriesFixtureForSeason(htSeriesId, season);

            Assert.True(fixtures.Count == 1);
        }
 /// <summary>
 /// Initializes the view model.
 /// </summary>
 public virtual void Init(Repository repository, SeriesRepository seriesRepository, ArtistRepository artistRepository)
 {
     SeriesSelectListItems = new SelectList(
         seriesRepository.GetList(),
         "Id", "Title");
     // TODO Get the series list.
 }
예제 #3
0
 public MigrationController(ISession session)
 {
     _session = session;
     _countryRepository = new CountryRepository(_session);
     _settingsRepository = new SettingsRepository(_session);
     _seriesRepository = new SeriesRepository(_session);
 }
 public ComicBooksController()
 {
     // Context parameter is BaseController's Context property
     _comicBookRepository = new ComicBookRepository(Context);
     _seriesRepository    = new SeriesRepository(Context);
     _artistsRepository   = new ArtistsRepository(Context);
 }
예제 #5
0
        public void ImportLibrary_SeriesSequence_ShouldReference_FileSeries()
        {
            var files = new List <MediaFile> {
                new MediaFile(-1, "https://google.ca", MediaFileType.IMAGE_TYPE, "f1", DateTime.Now, UniqueIdUtil.GenerateUniqueId()),
                new MediaFile(-1, "https://google.com", MediaFileType.IMAGE_TYPE, "f2", DateTime.Now, UniqueIdUtil.GenerateUniqueId())
            };
            var publishers = new List <ExportedPublisherSimpleDto> {
            };
            var calendars  = new List <Calendar> {
            };
            var series     = new List <ExportedSeriesSimpleDto> {
                new ExportedSeriesSimpleDto(
                    new Series(-1, "s1", "", -1, "", -1, -1, -1, false, UniqueIdUtil.GenerateUniqueId()),
                    null, null, null
                    )
            };
            var sequences = new List <ExportedSeriesSequenceSimpleDto> {
                new ExportedSeriesSequenceSimpleDto(
                    new SeriesSequence(-1, "s1", "", -1, false, false, 0, -1, UniqueIdUtil.GenerateUniqueId()),
                    files[0].UniqueId, series[0].Details.UniqueId
                    ),
                new ExportedSeriesSequenceSimpleDto(
                    new SeriesSequence(-1, "s1", "", -1, false, false, 0, -1, UniqueIdUtil.GenerateUniqueId()),
                    null, series[0].Details.UniqueId
                    )
            };

            var dto = new ExportedLibraryDto(
                "lib", UniqueIdUtil.GenerateUniqueId(), null,
                new List <ExportedVideoSimpleDto>(), new List <ExportedCharacterSimpleDto>(), new List <ExportedCharacterSimpleDto>(),
                series, publishers, new List <ExportedLocationSimpleDto>(),
                calendars, new List <ExportedPlaylistSimpleDto>(),
                new List <Ingvilt.Dto.Tags.Tag>(), new List <Ingvilt.Dto.Tags.Tag>(), files,
                sequences, new List <Ingvilt.Dto.Export.SeriesTagExportDto>(),
                new List <Ingvilt.Dto.Export.VideoTagExportDto>(), new List <Ingvilt.Dto.Export.FileTagExportDto>(),
                new List <Ingvilt.Dto.Export.CharacterTagExportDto>(), new List <Ingvilt.Dto.Export.VideoMediaFilesExportDto>(),
                new List <Ingvilt.Dto.Export.FileLocationExportDto>(), new List <Ingvilt.Dto.Export.CharacterMediaFilesExportDto>(),
                new List <Ingvilt.Dto.Export.VideosInSequencesExportDto>(), new List <Ingvilt.Dto.Export.VideosInSequencesExportDto>(),
                new List <Ingvilt.Dto.Export.VideoLocationExportDto>(), new List <Ingvilt.Dto.Export.VideoCharacterActorExportDto>(),
                new List <Ingvilt.Dto.Export.VideoCreatorExportDto>(), new LibrarySettings()
                );

            new ImportLibraryService().ImportLibrary(dto);
            var libraryId     = repository.GetLibraries(new InfinitePagination(), "").Result.Results[0].LibraryId;
            var sequencesList = new SeriesSequenceRepository().GetAllSequencesInAllSeries(new InfinitePagination(), libraryId).Result.Results;
            var retFiles      = mediaFileRepository.GetMediaFiles(new InfinitePagination(), "f1").Result.Results;
            var retSeries     = new SeriesRepository().GetSeries(new InfinitePagination()).Result.Results;

            var expectedSequences = new List <SeriesSequence> {
                sequences[0].Details,
                sequences[1].Details
            };

            expectedSequences[0].SeriesId  = retSeries[0].SeriesId;
            expectedSequences[1].SeriesId  = retSeries[0].SeriesId;
            expectedSequences[0].CoverFile = retFiles[0].MediaId;


            CollectionAssert.AreEquivalent(expectedSequences, sequencesList);
        }
 public static IDictionary <string, string> GetFeatureImageList()
 {
     using (var sRepository = new SeriesRepository())
     {
         return(sRepository.GetFeatureImageList());
     }
 }
예제 #7
0
 public CutoffModule(IEpisodeCutoffService episodeCutoffService, SeriesRepository seriesRepository)
     : base("wanted/cutoff")
 {
     _episodeCutoffService = episodeCutoffService;
     _seriesRepository     = seriesRepository;
     GetResourcePaged      = GetCutoffUnmetEpisodes;
 }
예제 #8
0
        // POST: api/Capitulo
        public Object Post(int idCapitulo, int idSerie)
        {
            int user = Utilities.getUserFromToken(Request);

            if (user == -1)
            {
                return(new {
                    error = "No tiene autorización",
                });
            }
            if (!SeriesRepository.ExisteSerieDatabase(idSerie))
            {
                SeriesRepository.Save(new Serie(idSerie, "", ""));
            }
            if (!UsuarioSeriesRepository.ExisteUsuarioSerieDatabase(user, idSerie))
            {
                UsuarioSeriesRepository.Save(user, idSerie, CapituloRepository.GetEpisodioId(idSerie, 1, 1));
            }

            UsuarioCapituloRepository.Save(user, idCapitulo);
            int nextCapitulo = SeriesRepository.GetNextEpisodio(idCapitulo, user);

            if (nextCapitulo == 0)
            {
                SeriesRepository.UpdateNextCapitulo(idSerie, null, user);
            }
            else
            {
                SeriesRepository.UpdateNextCapitulo(idSerie, nextCapitulo, user);
            }
            return("OK");
        }
예제 #9
0
        public void Dispose()
        {
            if (SeriesRepository != null)
            {
                SeriesRepository.Dispose();
                SeriesRepository = null;
            }

            if (BookingRepository != null)
            {
                BookingRepository.Dispose();
                BookingRepository = null;
            }

            if (PermissionBLL != null)
            {
                PermissionBLL.Dispose();
                PermissionBLL = null;
            }

            if (UserBLL != null)
            {
                UserBLL.Dispose();
                UserBLL = null;
            }

            if (BookingHistoryRepository != null)
            {
                BookingHistoryRepository.Dispose();
                BookingHistoryRepository = null;
            }
        }
예제 #10
0
        public void GetLastWatchedVideoInSeries_WithWatchedVideos_ShouldReturnLast()
        {
            var seriesRepository = new SeriesRepository();
            var seriesId         = seriesRepository.CreateSeries(new CreateSeriesDto("test", "", -1, "", -1, testLibrary.LibraryId));
            var series           = seriesRepository.GetSeries(seriesId).Result;

            var dto      = GetNewVideoDetails(series);
            var video1Id = repository.CreateVideo(dto);

            var video2Id = repository.CreateVideo(dto);
            var video2   = repository.GetVideo(video2Id).Result;

            var sequenceRepository = new SeriesSequenceRepository();
            var sequenceId         = sequenceRepository.CreateVideoSequence(new CreateSeriesSequenceDto(series.SeriesId, "", "", -1, true, 1));

            sequenceRepository.AddVideosToSequence(new List <long> {
                video1Id, video2Id
            }, sequenceId);

            var historyRepository = new WatchHistoryRepository();

            historyRepository.AddWatchedVideo(video1Id).ConfigureAwait(false);
            historyRepository.AddWatchedVideo(video2Id).ConfigureAwait(false);

            var lastWatchedVideo = repository.GetLastWatchedVideoInSeries(seriesId).Result;

            Assert.AreEqual(video2, lastWatchedVideo);
        }
예제 #11
0
        public async Task Set_Series_Read_Order()
        {
            var series = await SeriesHelpers.CreateValidSeriesWithBooks();

            var repository = new SeriesRepository(_fixture.Context);

            (await repository.ExistsAsync(series.Id)).Should().BeTrue();

            var sut = await repository.LoadAsync(series.Id);

            var seriesId = sut.Id;

            sut.Should().NotBeNull();
            sut.Books.Count.Should().Be(2);
            sut.Books.SingleOrDefault(b => b.Instalment == 1)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 1")?.BooksId);
            sut.Books.SingleOrDefault(b => b.Instalment == 2)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 2")?.BooksId);

            // Re-order collection
            sut = await repository.LoadAsync(series.Id);

            sut.Books.Single(b => b.Instalment == 1).Instalment = 0;
            sut.Books.Single(b => b.Instalment == 2).Instalment = 1;
            sut.Books.Single(b => b.Instalment == 0).Instalment = 2;

            await repository.SaveAsync();

            sut = await repository.LoadAsync(series.Id);

            sut.Books.SingleOrDefault(b => b.Instalment == 2)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 1")?.BooksId);
            sut.Books.SingleOrDefault(b => b.Instalment == 1)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 2")?.BooksId);
        }
예제 #12
0
        public async Task Update_Series_Books()
        {
            var series = await SeriesHelpers.CreateValidSeriesWithBooks();

            var repository = new SeriesRepository(_fixture.Context);

            (await repository.ExistsAsync(series.Id)).Should().BeTrue();

            var sut = await repository.LoadAsync(series.Id);

            var seriesId = sut.Id;

            sut.Should().NotBeNull();
            sut.Books.Count.Should().Be(2);

            // Add one more book to series
            var book1 = await BookHelpers.CreateValidBook();

            var book2 = await BookHelpers.CreateValidBook();

            var newReadOrder = new List <ReadOrder>
            {
                ReadOrder.NewReadOrder(book1, null, 3),
                ReadOrder.NewReadOrder(book2, null, 4)
            };
            await SeriesHelpers.UpdateSeriesReadOrder(sut.Id, newReadOrder);

            sut = await repository.LoadAsync(series.Id);

            sut.Books.Count.Should().Be(4);
            sut.Id.Should().Be(seriesId);
        }
예제 #13
0
 public MissingModule(IEpisodeService episodeService, SeriesRepository seriesRepository)
     : base("missing")
 {
     _episodeService   = episodeService;
     _seriesRepository = seriesRepository;
     GetResourcePaged  = GetMissingEpisodes;
 }
예제 #14
0
        public void GetSeriesResultsByMatchRoundTest()
        {
            const int season = 30;
            const int htSeriesId = 1000;
            var country = TestEntities.CreateCountry(66, "EnglishName", "CountryName");
            var series = TestEntities.CreateSeries(htSeriesId, country, "SeriesName");
            var matches = new List<Match>
                              {
                                  TestEntities.CreateMatchFullData(1000, country, 1050, 1051, new List<int>(), 1500, 1 ),
                                  TestEntities.CreateMatchFullData(1001, country, 1052, 1053, new List<int>(), 1500, 1 ),
                                  TestEntities.CreateMatchFullData(1002, country, 1054, 1055, new List<int>(), 1500, 2 )
                              };
            matches.ForEach(series.AddMatch);

            var sessionFactory = SessionFactory.CreateSessionFactory(true);
            using (var session = sessionFactory.OpenSession())
            {
                using (session.BeginTransaction())
                {
                    session.SaveOrUpdate(country);
                    session.SaveOrUpdate(series);
                    session.Transaction.Commit();
                }
            }

            var seriesRepository = new SeriesRepository(SessionManager.CurrentSession);

            var matchesFromDb = seriesRepository.GetSeriesResults(htSeriesId, season, 1);

            Assert.True(matchesFromDb.Count == 2);
        }
예제 #15
0
 public BaseController()
 {
     Context          = new Context();
     ArtistRepository = new ArtistRepository(Context);
     SeriesRepository = new SeriesRepository(Context);
     RoleRepository   = new RoleRepository(Context);
 }
 public ComicBooksController()
 {
     // passing in BaseController's Context property
     _comicBooksRepository = new ComicBooksRepository(Context);
     _seriesRepository     = new SeriesRepository(Context);
     _artistsRepository    = new ArtistsRepository(Context);
 }
예제 #17
0
        public CalendarModule(IEpisodeService episodeService, SeriesRepository seriesRepository)
            : base("/calendar")
        {
            _episodeService   = episodeService;
            _seriesRepository = seriesRepository;

            GetResourceAll = GetPaged;
        }
예제 #18
0
        public async Task Series_inserted_to_database()
        {
            var series = await SeriesHelpers.CreateValidSeries();

            var repository = new SeriesRepository(_fixture.Context);

            (await repository.ExistsAsync(series.Id)).Should().BeTrue();
        }
예제 #19
0
 public SeriesManagerBLL()
 {
     SeriesRepository         = new SeriesRepository();
     BookingRepository        = new BookingRepository();
     PermissionBLL            = new PermissionBLL();
     UserBLL                  = new UserBLL();
     BookingHistoryRepository = new BookingHistoryRepository();
 }
예제 #20
0
 public void Dispose()
 {
     if (BookingRepository != null)
     {
         BookingRepository.Dispose();
         BookingRepository = null;
     }
     if (TripRepository != null)
     {
         TripRepository.Dispose();
         TripRepository = null;
     }
     if (CruiseRepository != null)
     {
         CruiseRepository.Dispose();
         CruiseRepository = null;
     }
     if (AgencyRepository != null)
     {
         AgencyRepository.Dispose();
         AgencyRepository = null;
     }
     if (BookingRoomRepository != null)
     {
         BookingRoomRepository.Dispose();
         BookingRoomRepository = null;
     }
     if (BookingHistoryRepository != null)
     {
         BookingHistoryRepository.Dispose();
         BookingHistoryRepository = null;
     }
     if (LockedRepository != null)
     {
         LockedRepository.Dispose();
         LockedRepository = null;
     }
     if (CustomerRepository != null)
     {
         CustomerRepository.Dispose();
         CustomerRepository = null;
     }
     if (UserBLL != null)
     {
         UserBLL.Dispose();
         UserBLL = null;
     }
     if (SeriesRepository != null)
     {
         SeriesRepository.Dispose();
         SeriesRepository = null;
     }
     if (BusTypeRepository != null)
     {
         BusTypeRepository.Dispose();
         BusTypeRepository = null;
     }
 }
예제 #21
0
        /// <summary>
        /// Attempts to parse the provided command as a line number
        /// and if successful, calls the appropriate user input method
        /// for the selected comic book property.
        /// </summary>
        /// <param name="command">The line number command.</param>
        /// <param name="comicBook">The comic book to update.</param>
        /// <returns>Returns "true" if the comic book property was successfully updated, otherwise "false".</returns>
        private static bool AttemptUpdateComicBookProperty(
            string command, ComicBook comicBook)
        {
            _seriesRepository = new SeriesRepository(context);
            var successful = false;

            // Attempt to parse the command to a line number.
            int lineNumber = 0;

            int.TryParse(command, out lineNumber);

            // If the number is within range then get that comic book ID.
            if (lineNumber > 0 && lineNumber <= EditableProperties.Count)
            {
                // Retrieve the property name for the provided line number.
                string propertyName = EditableProperties[lineNumber - 1];

                // Switch on the provided property name and call the
                // associated user input method for that property name.
                switch (propertyName)
                {
                case "SeriesId":
                    comicBook.SeriesId = GetSeriesId();
                    comicBook.Series   = _seriesRepository.Get(comicBook.SeriesId);
                    break;

                case "IssueNumber":
                    comicBook.IssueNumber = GetIssueNumber();
                    break;

                case "Description":
                    comicBook.Description = GetDescription();
                    break;

                case "PublishedOn":
                    comicBook.PublishedOn = GetPublishedOnDate();
                    break;

                case "AverageRating":
                    comicBook.AverageRating = GetAverageRating();
                    break;

                case "Artists":
                    ChooseAddArtist(comicBook);
                    break;

                default:
                    break;
                }

                successful = true;
            }


            context.Dispose();
            return(successful);
        }
        public static string GetJustSeriesNameList()
        {
            using (var sRepository = new SeriesRepository())
            {
                var list = sRepository.GetJustSeriesNameList();

                return("'" + string.Join("','", list) + "'");
            }
        }
 public ViewActivitiesBLL()
 {
     UserRepository          = new UserRepository();
     ActivityRepository      = new ActivityRepository();
     AgencyContactRepository = new AgencyContactRepository();
     BookingRepository       = new BookingRepository();
     SeriesRepository        = new SeriesRepository();
     AgencyRepository        = new AgencyRepository();
 }
 /// <summary>
 /// Initializes the view model.
 /// </summary>
 public virtual void Init(Repository repository,
                          SeriesRepository seriesRepository, ArtistsRepository artistsRepository)
 {
     // create a select dropdown variable which gets the context's
     // Series list, ordered by title
     SeriesSelectListItems = new SelectList(
         seriesRepository.GetList(),
         "Id", "Title");
 }
예제 #25
0
        public CalendarModule(ICommandExecutor commandExecutor,
                              IEpisodeService episodeService,
                              SeriesRepository seriesRepository)
            : base(episodeService, commandExecutor, "calendar")
        {
            _episodeService = episodeService;
            _seriesRepository = seriesRepository;

            GetResourceAll = GetCalendar;
        }
예제 #26
0
        /// <summary>
        /// Initializes the view model.
        /// </summary>
        public override void Init(Repository repository, SeriesRepository seriesRepository, ArtistsRepository artistsRepository)
        {
            base.Init(repository, seriesRepository, artistsRepository);

            ArtistSelectListItems = new SelectList(
                artistsRepository.GetList(),
                "Id", "Name");
            RoleSelectListItems = new SelectList(
                repository.GetRoles(),
                "Id", "Name");
        }
예제 #27
0
        public EpisodePresenter(SeriesRepository repository, EpisodeView view)
        {
            ContentView = view;
            ContentView.SetCommands(
                new RelayCommand(Previous, () => repository.CanChangeFlow),
                new RelayCommand(Next, () => repository.CanChangeFlow),
                new RelayCommand(Bookmark, () => false),
                new RelayCommand(Download, () => false));

            Repository = repository;
        }
        /// <summary>
        /// Initializes the view model.
        /// </summary>
        public override void Init(SeriesRepository seriesRepository, ArtistRepository artistRepository, RoleRepository roleRepository)
        {
            base.Init(seriesRepository, artistRepository, roleRepository);

            ArtistSelectListItems = new SelectList(
                artistRepository.GetList(),
                "Id", "Name");
            RoleSelectListItems = new SelectList(
                roleRepository.GetList(),
                "Id", "Name");
        }
예제 #29
0
        public CalendarModule(ICommandExecutor commandExecutor,
                              IEpisodeService episodeService,
                              SeriesRepository seriesRepository)
            : base(commandExecutor, "calendar")
        {
            _episodeService   = episodeService;
            _seriesRepository = seriesRepository;

            GetResourceAll  = GetCalendar;
            GetResourceById = GetEpisode;
        }
예제 #30
0
        public void Verify_Get_ByKey_Should_ReturnTheCorrectSeries()
        {
            // Arrange
            Mock <IDbSet <Series> > mockSetSeries;
            var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
            var repository  = new SeriesRepository(mockContext.Object);
            // Act
            var series = repository.Get("KING-STEPHEN");

            // Assert
            Assert.Equal("/TEST/KING-STEPHEN", series.ApiDetailUrl);
        }
 public void Verify_Deactivate_Should_SetTheActivePropertyToFalseOnTheEntity()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     var series = repository.Get(1);
     // Act
     repository.Deactivate(series);
     // Assert
     Assert.Equal(false, series.Active);
 }
 public void Verify_Add_Should_AddTheEntityToTheContext()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(false, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     var series = new Series { Active = true, CustomKey = "SALVATORE-RAA", };
     // Act
     repository.Add(series);
     // Assert
     mockSetSeries.Verify(x => x.Add(series), Times.Once);
 }
 public override void MigrateFixtures(int htSeriesId, int season)
 {
     var seriesFixturesResult = GetSeriesFixtures(season, htSeriesId);
     Session.Clear();
     var repository = new SeriesRepository(Session);
     var series = repository.GetAll().First(s => s.HtSeriesId == htSeriesId);
     SetFixtures(series, season, seriesFixturesResult);
     using (var transaction = Session.BeginTransaction())
     {
         repository.SaveUpdate(series);
         transaction.Commit();
     }
 }
예제 #34
0
 /// <summary>
 /// Validates a series on the server
 /// before adding a new record or updating an existing record.
 /// </summary>
 /// <param name="series">The series to validate.</param>
 private void ValidateSeries(Series series)
 {
     // If there aren't any "Title" field validation errors...
     if (ModelState.IsValidField("Title"))
     {
         // Then make sure that the provided title is unique.
         if (SeriesRepository.IsUniqueCombo(series))
         {
             ModelState.AddModelError("Title",
                                      "The provided Title is in use by another series.");
         }
     }
 }
예제 #35
0
        public void Verify_Deactivate_Should_SetTheActivePropertyToFalseOnTheEntity()
        {
            // Arrange
            Mock <IDbSet <Series> > mockSetSeries;
            var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
            var repository  = new SeriesRepository(mockContext.Object);
            var series      = repository.Get(1);

            // Act
            repository.Deactivate(series);
            // Assert
            Assert.Equal(false, series.Active);
        }
예제 #36
0
        public void Verify_Remove_Should_RemoveTheEntityFromTheContext()
        {
            // Arrange
            Mock <IDbSet <Series> > mockSetSeries;
            var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
            var repository  = new SeriesRepository(mockContext.Object);
            var series      = repository.Get(1);

            // Act
            repository.Remove(series);
            // Assert
            mockSetSeries.Verify(x => x.Remove((Series)series), Times.Once);
        }
 public AddSeriesBookingsBLL()
 {
     AgencyRepository        = new AgencyRepository();
     AgencyContactRepository = new AgencyContactRepository();
     SeriesRepository        = new SeriesRepository();
     TripRepository          = new TripRepository();
     RoomClassRepository     = new RoomClassRepository();
     RoomTypeRepository      = new RoomTypeRepository();
     CruiseRepository        = new CruiseRepository();
     BookingRepository       = new BookingRepository();
     BookingRoomRepository   = new BookingRoomRepository();
     CustomerRepository      = new CustomerRepository();
 }
        public override void MigrateMatchDetails(int matchId, int matchRound, int season, int htSeriesId)
        {
            var matchDetails = GetMatchDetails(matchId);
            Session.Clear();
            var repository = new SeriesRepository(Session);
            var series = repository.GetAll().First(s => s.HtSeriesId == htSeriesId);

            var match = series.Matches.FirstOrDefault(m => m.MatchId == matchId);
            var htMatch = matchDetails.Match.First();
            DateTime matchFinishDate;
            if (DateTime.TryParse(htMatch.FinishedDate, out matchFinishDate))
            {
                var htAwayTeam = htMatch.AwayTeam.First();
                var htHomeTeam = htMatch.HomeTeam.First();
                if (match == null)
                {
                    match = new Match
                    {
                        HtMatchId = int.Parse(htMatch.MatchID),
                        MatchDate = DateTime.Parse(htMatch.MatchDate),
                        FinishedDate = DateTime.Parse(htMatch.FinishedDate),
                        MatchArena = new MatchArena
                        {
                            ArenaName = htMatch.MatchArena.ArenaName,
                            HtArenaId = int.Parse(htMatch.MatchArena.ArenaID),
                            WeatherId = short.Parse(htMatch.MatchArena.WeatherID)
                        },
                        MatchType = short.Parse(htMatch.MatchType),
                        MatchSeason = (short)season,
                        MatchRound = (short)matchRound
                    };
                    match.SetMatchHomeTeam(GetMatchTeam(series.Country, htHomeTeam, htMatch.PossessionFirstHalfHome,
                                                        htMatch.PossessionSecondHalfHome));
                    match.SetMatchAwayTeam(GetMatchTeam(series.Country, htAwayTeam, htMatch.PossessionFirstHalfAway,
                                                        htMatch.PossessionSecondHalfAway));
                    ProcessScorers(match, htMatch);
                    ProcessInjuries(match, htMatch);
                    ProcessBookings(match, htMatch);
                    ProcessEvents(match, htMatch);
                    series.AddMatch(match);
                }
            }
            repository.SaveUpdate(series);
            Session.Flush();
        }
 public void Verify_Search_WithPaging_Should_ReturnAListOfSeriesWithDataMatchingSearchParameters()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     var searchModel = new SeriesSearchModel { Paging = new Paging { Skip = 1, Take = 1 } };
     // Act
     var series = repository.Search(searchModel/*.Object*/).ToArray();
     // Assert
     Assert.Equal(1, series.Length);
     Assert.Equal(2, series[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", series[0].ApiDetailUrl);
     // Stephen King was filtered out because he was Skipped
 }
 public void Verify_Get_ByID_Should_ReturnTheCorrectSeries()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     // Act
     var series = repository.Get(1);
     // Assert
                 Assert.Equal("/TEST/KING-STEPHEN", series.ApiDetailUrl);
 }
예제 #41
0
        public void SeriesSaveTest()
        {
            var country = TestEntities.CreateCountry(66, "EnglishName", "CountryName");
            var sessionFactory = SessionFactory.CreateSessionFactory(true);
            using (var session = sessionFactory.OpenSession())
            {
                session.SaveOrUpdate(country);
                session.Flush();
            }

            List<Series> series = TestEntities.CreateSeries(1000, country);
            var prodSession = SessionManager.CurrentSession;
            var repository = new SeriesRepository(prodSession);
            repository.SaveUpdateSeries(series);

            var countrySeries = repository.GetAllSeriesForCountry(66);
            Assert.True(countrySeries.Count() == 2);
            Assert.True(countrySeries.First().SeriesFixtures.Count == 1);
            Assert.True(countrySeries.First().SeriesFixtures.First().HomeTeam.TeamName == "TeamName1");
            Assert.True(countrySeries.First().SeriesFixtures.First().AwayTeam.TeamName == "TeamName2");
        }
예제 #42
0
        public void SeriesUpdateTest()
        {
            var country = TestEntities.CreateCountry(66, "EnglishName", "CountryName");
            List<Series> series = TestEntities.CreateSeries(1000, country);
            var sessionFactory = SessionFactory.CreateSessionFactory(true);
            using (var session = sessionFactory.OpenSession())
            {
                using (session.BeginTransaction())
                {
                    session.SaveOrUpdate(country);
                    foreach (var league in series)
                    {
                        session.SaveOrUpdate(league);
                    }
                    session.Transaction.Commit();
                }
            }

            var repository = new SeriesRepository(SessionManager.CurrentSession);
            var countrySeries = repository.GetAllSeriesForCountry(66).ToList();

            const string newValue = "newName";
            countrySeries.First(s => s.HtSeriesId == 1000).LeagueLevelUnitName = newValue;
            repository.SaveUpdateSeries(countrySeries);

            var newSeries = repository.GetAllSeriesForCountry(66);
            Assert.True(newSeries.First(s => s.HtSeriesId == 1000).LeagueLevelUnitName == newValue);
        }
 public void Verify_Update_Should_SetTheEntityStateToModified()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     var series = repository.Get(1);
     series.ApiDetailUrl = "/TEST";
     // Act
     repository.Update(series);
     // Assert
     mockContext.Verify(x => x.SetModified(It.IsAny<object>()), Times.Once);
 }
예제 #44
0
        public void SeriesLoadTest()
        {
            var country = TestEntities.CreateCountry(66, "EnglishName", "CountryName");

            List<Series> series = TestEntities.CreateSeries(1000, country);
            var sessionFactory = SessionFactory.CreateSessionFactory(true);
            using (var session = sessionFactory.OpenSession())
            {
                using (session.BeginTransaction())
                {
                    session.SaveOrUpdate(country);
                    foreach (var league in series)
                    {
                        session.SaveOrUpdate(league);
                    }
                    session.Transaction.Commit();
                }
            }

            var repository = new SeriesRepository(SessionManager.CurrentSession);
            var countrySeries = repository.GetAllSeriesForCountry(66);

            Assert.True(countrySeries.Count() == 2);
            Assert.True(countrySeries.First().SeriesFixtures.Count == 1);
            Assert.True(countrySeries.First().SeriesFixtures.First().HomeTeam.TeamName == "TeamName1");
            Assert.True(countrySeries.First().SeriesFixtures.First().AwayTeam.TeamName == "TeamName2");
        }
예제 #45
0
 public SeriesController(ISession session)
 {
     _countryRepository = new CountryRepository(session);
     _settingsRepository = new SettingsRepository(session);
     _seriesRepository = new SeriesRepository(session);
 }
 public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries, true);
     var repository = new SeriesRepository(mockContext.Object);
     var searchModel = new Mock<ISeriesSearchModel>();
     // Act
     var series = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray();
     // Assert
     Assert.Equal(1, series.Length);
     Assert.Equal(2, series[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", series[0].MyApiDetailUrl);
     // Stephen King was filtered out because he was Inactive
 }
 public void Verify_Remove_Should_RemoveTheEntityFromTheContext()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     var series = repository.Get(1);
     // Act
     repository.Remove(series);
     // Assert
     mockSetSeries.Verify(x => x.Remove((Series)series), Times.Once);
 }
 public void Verify_List_Should_ReturnAListOfSeriesWithData()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries);
     var repository = new SeriesRepository(mockContext.Object);
     // Act
     var series = repository.List.ToArray();
     // Assert
     Assert.Equal(2, series.Length);
     Assert.Equal(1, series[0].Id);
     Assert.Equal("/TEST/KING-STEPHEN", series[0].ApiDetailUrl);
     Assert.Equal(2, series[1].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", series[1].ApiDetailUrl);
 }
예제 #49
0
 protected void InitDataObjects()
 {
     eventsRepo = new EventsRepository();
     scoreMethodRepo = new ScoreMethodRepository();
     seriesRepo = new SeriesRepository();
     teamsRepo = new TeamsRepository();
     eventTeamsRepo = new EventTeamsRepository();
     playersRepo = new PlayersRepository();
     eventPlayersRepo = new EventPlayersRepository();
     matchRepo = new MatchesRepository();
     matchTeamsRepo = new MatchTeamsRepository();
     packsetRepo = new PacksetsRepository();
     matchPlayerRepo = new MatchPlayersRepository();
 }
 public void Verify_Search_WithModifiedSince_Should_ReturnAListOfSeriesWithDataMatchingSearchParameters()
 {
     // Arrange
     Mock<IDbSet<Series>> mockSetSeries;
     var mockContext = SeriesMockingSetup.DoMockingSetupForContext(true, out mockSetSeries, true);
     var repository = new SeriesRepository(mockContext.Object);
     var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1);
     //var searchModel = new Mock<ISeriesSearchModel>();
     //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate);
     var searchModel = new SeriesSearchModel { ModifiedSince = createDate };
     // Act
     var series = repository.Search(searchModel/*.Object*/).ToArray();
     // Assert
     Assert.Equal(1, series.Length);
     Assert.Equal(2, series[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", series[0].ApiDetailUrl);
     // Stephen King was filtered out because he was created before the modified since date
 }