public void Test_CalcCountDownForMed_Pref_LunchDinner_AfterDinner_IsCorrect() { var time = new DateTime(2016, 2, 25, 22, 0, 0); var medWithDoses = new MedicineWithDoses(new Medicine(), () => time); medWithDoses.AddDoseTimes(new[] { TimeOfDay.Lunch, TimeOfDay.Dinner }); var count = CountdownHelper.CalcCountDownValue(medWithDoses, () => time); Assert.AreEqual(94, count); }
public async Task <IEnumerable <MedicineWithDoses> > GetMedicinesWithDosesAsync(int patientId, int count) { var medicinesWithDoses = new List <MedicineWithDoses>(); var medicines = await _MedicinesRepository.GetMedicinesAsync(Request.GetTenant(), patientId, count * 3); var groupped = medicines.GroupBy(am => am.MedicineId); foreach (var mgroup in groupped) { var mwd = new MedicineWithDoses(mgroup.First()); mwd.AddDoseTimes(mgroup.Select(am => am.TimeOfDay)); medicinesWithDoses.Add(mwd); } return(medicinesWithDoses); }