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