Ejemplo n.º 1
0
        public TagScoreMapperTests()
        {
            this.mapper = new TagScoreMapper();

            Fixture fixture = new Fixture{RepeatCount = 1};
            fixture.Behaviors.Remove(new ThrowingRecursionBehavior());
            fixture.Behaviors.Add(new OmitOnRecursionBehavior());
            fixture.Customizations.Add(new TypeRelay(typeof(Item), typeof(Book)));

            Reader reader = fixture.Create<Reader>();
            ReaderMapper readerMapper = new ReaderMapper();
            var readerModel = readerMapper.Map(reader);

            // item is book
            Book book = fixture.Create<Book>();
            this.entityWithBook = new TagScore{Id = 1, Item = book, Reader = reader, Score = 0.5f};
            BookMapper bookMapper = new BookMapper();
            var bookModel = bookMapper.Map(book);
            this.modelWithBook = new TagScoreBusinessModel{Item = bookModel, Reader = readerModel, Score = 0.5f};
            
            // item is disk
            Disk disk = fixture.Create<Disk>();
            this.entityWithDisk = new TagScore { Id = 1, Item = disk, Reader = reader, Score = 0.5f };
            DiskMapper diskMapper = new DiskMapper();
            var diskModel = diskMapper.Map(disk);
            this.modelWithDisk = new TagScoreBusinessModel{Item = diskModel, Reader = readerModel, Score = 0.5f};

            // item is magazine
            Magazine magazine = fixture.Create<Magazine>();
            this.entityWithMagazine = new TagScore { Id = 1, Item = magazine, Reader = reader, Score = 0.5f };
            MagazineMapper magazineMapper = new MagazineMapper();
            var magazineModel = magazineMapper.Map(magazine);
            this.modelWithMagazine =
                new TagScoreBusinessModel { Item = magazineModel, Reader = readerModel, Score = 0.5f };
        }
        public TagScoresFacadeTests()
        {
            this.uow = Initializer.GetLibraryUow();

            Fixture fixture = new Fixture{RepeatCount = 1};
            fixture.Behaviors.Remove(new ThrowingRecursionBehavior());
            fixture.Behaviors.Add(new OmitOnRecursionBehavior());
            fixture.Customizations.Add(new TypeRelay(typeof(Item), typeof(Book)));
            this.item = fixture.Create<Item>();
            this.reader = fixture.Create<Reader>();
            this.score = new TagScore { Id = 1, Item = this.item, Reader = this.reader, Score = 0.5f };
            var i = fixture.Create<Item>();
            this.newScore = new TagScore { Id = 2, Item = i, Reader = this.reader, Score = 0.7f };
            this.uow.TagScores.Add(this.score);
            this.uow.Readers.Add(this.reader);
            this.uow.Items.Add(this.item);this.uow.Items.Add(i);

            this.tagScoresFacade = new TagScoresFacade(this.uow);
        }
Ejemplo n.º 3
0
 public void UpdateOrCreateScore(int readerId, int itemId, float newScore)
 {
     try
     {
         var ts = this.uow.TagScores.GetAll().First(t => t.Item.Id == itemId && t.Reader.ReaderId == readerId);
         ts.Score = newScore;
         this.uow.TagScores.Update(ts);
     }
     catch (Exception e)
     {
         var ts = new TagScore();
         ts.Item = this.uow.Items.GetById(itemId);
         ts.Reader = this.uow.Readers.GetById(readerId);
         ts.Score = newScore;
         this.uow.TagScores.Add(ts);
     }
     
     this.uow.Commit();
 }