public ManualMealEntity ToManualMeal(NormalMealEntity normalMeal, ManualBillEntity bill = null) { if (normalMeal == null) { throw new ArgumentNullException("normalMeal"); } if (bill != null && normalMeal.BillId != bill.BillId) { throw new ArgumentOutOfRangeException("bill"); } var manualMeal = new ManualMealEntity() { Bill = bill, BillId = normalMeal.BillId, LastUpdated = normalMeal.LastUpdated, MealId = normalMeal.MealId, Name = normalMeal.Name, Timestamp = normalMeal.Timestamp }; if (normalMeal.Courses != null) { manualMeal.Courses = normalMeal.Courses.Select(x => ToManualFoodCourse(x, bill, manualMeal)).ToList(); } return(manualMeal); }
public NormalContextTestValues() { Cereal1 = new NormalFoodCourseEntity() { Name = "Generic cereal with milk", Cost = 2.20M, Type = FoodCourseType.Starter, LastUpdated = DateTime.Now }; Cereal2 = new NormalFoodCourseEntity() { Name = "Generic cereal with soya milk", Cost = 2.20M, Type = FoodCourseType.Starter, LastUpdated = DateTime.Now }; FryUp = new NormalFoodCourseEntity() { Name = "Bacon, eggs, sausage, etc", Cost = 6.00M, Type = FoodCourseType.Main, LastUpdated = DateTime.Now }; CerealAndFryUpBreakfast = new NormalMealEntity() { Name = "Cereal and fry-up breakfast", LastUpdated = DateTime.Now }; CerealAndFryUpBreakfast.Courses.Add(Cereal1); CerealAndFryUpBreakfast.Courses.Add(FryUp); CerealOnlyBreakfast = new NormalMealEntity() { Name = "Cereal only breakfast", LastUpdated = DateTime.Now }; CerealOnlyBreakfast.Courses.Add(Cereal2); Bill = new NormalBillEntity() { LastUpdated = DateTime.Now }; Bill.Meals.Add(CerealAndFryUpBreakfast); Bill.Meals.Add(CerealOnlyBreakfast); CourseCount = Bill.Meals.SelectMany(x => x.Courses).Count(); MealCount = Bill.Meals.Count(); }