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); }
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(); }