public void Vend(VendDTO vend) { if (vend == null) { throw new ArgumentNullException("vend"); } if (vend.payment == null) { throw new ArgumentNullException("payment"); } if (vend.flavour == 0) { throw new ArgumentException("flavour"); } //if we have db then we should perfrm all actions in this function under transaction Payment payment = PaymentMapper.Map(vend.payment); _paymentRepository.Add(payment); var criteria = new DrinkCanFindCriteria(); criteria.Flavour = vend.flavour; DrinkCan can = _drinkCanRepository.FindByCriteria(criteria).FirstOrDefault(); _drinkCanRepository.Delete(can); }
public void Test_DrinkCanRepository_Reset() { using (IDrinkCanRepository repo = new DrinkCanRepository()) { //Arrange var can1 = new DrinkCan { Flavour = Flavour.Apple, Price = 2.50m, IsSold = false }; repo.Add(can1); var can2 = new DrinkCan { Flavour = Flavour.Banana, Price = 2.50m, IsSold = false }; repo.Add(can2); //Act repo.Reset(); var criteria = new DrinkCanFindCriteria(); var result = repo.FindByCriteria(criteria); //Assert Assert.AreEqual(0, result.Count()); } }
public void Test_DrinkCanRepository_Find() { using (IDrinkCanRepository repo = new DrinkCanRepository()) { //Arrange var can1 = new DrinkCan { Flavour = Flavour.Apple, Price = 2.50m }; repo.Add(can1); var can2 = new DrinkCan { Flavour = Flavour.Banana, Price = 2.50m }; repo.Add(can2); //Act var criteria = new DrinkCanFindCriteria(); criteria.Flavour = Flavour.Banana; var result = repo.FindByCriteria(criteria).FirstOrDefault(); //Assert Assert.AreEqual(can2, result); } }
public List <DrinkCanDTO> Get([FromUri] DrinkCanFindCriteria filter) { if (filter == null) { // allow null criteria and take defaults filter = new DrinkCanFindCriteria(); } return(_drinkCanService.FindDrinkCans(filter)); }
public IEnumerable <DrinkCan> FindByCriteria(DrinkCanFindCriteria criteria) { var query = Query(); if (criteria.Flavour.HasValue) { query = query.Where(c => c.Flavour == criteria.Flavour.Value); } if (criteria.IsSold.HasValue) { query = query.Where(c => c.IsSold == criteria.IsSold.Value); } return(query.ToList()); }
public void Test_DrinkCanService_Find() { using (var mock = AutoMock.GetLoose()) { // Arrange - configure the mock var criteria = new DrinkCanFindCriteria(); var dbSet = TestData.DBSetDrinkCan; mock.Mock <IDrinkCanRepository>().Setup(x => x.FindByCriteria(criteria)).Returns(dbSet); var service = mock.Create <DrinkCanService>(); // Act var result = service.FindDrinkCans(criteria); //Asssert Assert.AreEqual(dbSet.Count(), result.Count()); } }
public List <DrinkCanDTO> FindDrinkCans(DrinkCanFindCriteria criteria) { if (criteria == null) { throw new ArgumentNullException("criteria"); } var recs = _drinkCanRepository.FindByCriteria(criteria); List <DrinkCanDTO> result = new List <DrinkCanDTO>(); foreach (var rec in recs) { result.Add(DrinkCanMapper.Map(rec)); } return(result); }
public void Test_DrinkCanRepository_Add() { using (IDrinkCanRepository repo = new DrinkCanRepository()) { //Arrange var can = new DrinkCan { Flavour = Flavour.Apple, Price = 2.50m }; //Act repo.Add(can); var criteria = new DrinkCanFindCriteria(); var count = repo.FindByCriteria(criteria).Count(); //Assert Assert.AreEqual(1, count); } }
public void Test_DrinkCanRepository_Delete() { using (IDrinkCanRepository repo = new DrinkCanRepository()) { //Arrange var can1 = new DrinkCan { Flavour = Flavour.Apple, Price = 2.50m, IsSold = false }; repo.Add(can1); //Act var criteria = new DrinkCanFindCriteria(); criteria.Flavour = Flavour.Apple; var result = repo.FindByCriteria(criteria).FirstOrDefault(); repo.Delete(result); result = repo.FindByCriteria(criteria).FirstOrDefault(); //initCount. Assert.AreEqual(true, result.IsSold); } }