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