public void Save(Models.EggProduction production) { if (production.IsNew) { CreatePostRequest(production); } else { CreatePutRequest(production.Id, production); } }
public void Cant_SaveNewEggProduction_WithDuplicateDate() { var data1 = new Models.Data.EggProduction { Id = Guid.NewGuid(), Date = DateTime.Today }; var house = new Models.HenHouse { Id = Guid.NewGuid(), Name = "House 1", PurchaseCost = 1, Depreciation = 1, YearUsage = 1, Active = true }; using (var conn = factory.OpenDbConnection()) { conn.InsertParam(house); conn.InsertParam(data1); } var production = new Models.EggProduction { Date = DateTime.Today, Details = new List <EggProductionDetail>() { new Models.EggProductionDetail { CrackedEggCount = 1, Fcr = 1, GoodEggCount = 1, HouseId = house.Id, RetailQuantity = 1.2m } } }; Assert.Throws <ServiceException>(() => service.Save(production)); }
public void Can_SaveNewEggProduction() { var house = new Models.HenHouse { Id = Guid.NewGuid(), Name = "House 1", PurchaseCost = 1, Depreciation = 1, YearUsage = 1, Active = true }; using (var conn = factory.OpenDbConnection()) { conn.InsertParam(house); } var production = new Models.EggProduction { Date = DateTime.Today, Details = new List <EggProductionDetail>() { new Models.EggProductionDetail { CrackedEggCount = 1, Fcr = 1, GoodEggCount = 1, HouseId = house.Id, RetailQuantity = 1.2m } } }; service.Save(production); using (var conn = factory.OpenDbConnection()) { var data = conn.FirstOrDefault <Models.Data.EggProduction>(e => e.Date == production.Date); var details = conn.Where <Models.Data.EggProductionDetail>(new { ProductionId = data.Id }); Compare(data, details, production); } }
public void Cant_SaveExistingEggProduction_WithDuplicateDate() { var id = Guid.NewGuid(); var house = new Models.HenHouse { Id = Guid.NewGuid(), Name = "House 1", PurchaseCost = 1, Depreciation = 1, YearUsage = 1, Active = true }; var data = new Models.Data.EggProduction { Id = id, Date = DateTime.Today }; var data2 = new Models.Data.EggProduction { Id = Guid.NewGuid(), Date = DateTime.Today.AddDays(-1) }; var detail = new Models.Data.EggProductionDetail { CrackedEggCount = 1, Fcr = 1, GoodEggCount = 1, HouseId = house.Id, ProductionId = id, RetailQuantity = 1.2m }; using (var conn = factory.OpenDbConnection()) { conn.InsertParam(house); conn.InsertParam(data); conn.InsertParam(detail); conn.InsertParam(data2); } var production = new Models.EggProduction { Id = id, Date = DateTime.Today.AddDays(-1), Details = new List<EggProductionDetail>() { new Models.EggProductionDetail { CrackedEggCount = 2, Fcr = 2, GoodEggCount = 2, HouseId = house.Id, RetailQuantity = 1.7m } } }; Assert.Throws<ServiceException>(() => service.Save(production)); }
public void Can_SaveNewEggProduction() { var house = new Models.HenHouse { Id = Guid.NewGuid(), Name = "House 1", PurchaseCost = 1, Depreciation = 1, YearUsage = 1, Active = true }; using (var conn = factory.OpenDbConnection()) { conn.InsertParam(house); } var production = new Models.EggProduction { Date = DateTime.Today, Details = new List<EggProductionDetail>() { new Models.EggProductionDetail { CrackedEggCount = 1, Fcr = 1, GoodEggCount = 1, HouseId = house.Id, RetailQuantity = 1.2m } } }; service.Save(production); using (var conn = factory.OpenDbConnection()) { var data = conn.FirstOrDefault<Models.Data.EggProduction>(e => e.Date == production.Date); var details = conn.Where<Models.Data.EggProductionDetail>(new { ProductionId = data.Id }); Compare(data, details, production); } }
void Compare(Models.Data.EggProduction productionData, List <Models.Data.EggProductionDetail> details, Models.EggProduction production) { Assert.Equal(productionData.Id, production.Id); Assert.Equal(productionData.Date, production.Date); if (details != null) { Assert.Equal(details.Count, production.Details.Count); foreach (var detailData in details) { var detail = production.Details.FirstOrDefault(d => d.HouseId == detailData.HouseId); Assert.Equal(detailData.CrackedEggCount, detail.CrackedEggCount); Assert.Equal(detailData.Fcr, detail.Fcr); Assert.Equal(detailData.GoodEggCount, detail.GoodEggCount); Assert.Equal(detailData.HouseId, detail.HouseId); Assert.Equal(detailData.RetailQuantity, detail.RetailQuantity); } } }