public void Test_CalcCountDownForMedNoTimes_Is99() { var time = new DateTime(2016, 2, 25, 8, 0, 0); var medWithDoses = new MedicineWithDoses(new Medicine(), () => time); var count = CountdownHelper.CalcCountDownValue(medWithDoses, () => time); Assert.AreEqual(99, count); }
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 void Test_CalcCountDownForMed_Pref_Lunch_IsCorrect() { var time = new DateTime(2016, 2, 25, 8, 0, 0); var medWithDoses = new MedicineWithDoses(new Medicine(), () => time); medWithDoses.AddDoseTime(TimeOfDay.Lunch); var count = CountdownHelper.CalcCountDownValue(medWithDoses, () => time); Assert.AreEqual(25, 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); }
public static int CalcCountDownValue(MedicineWithDoses medicine) { if (medicine == null) { return(0); } var previousDoseTime = medicine.PreviousDoseTime; var nextDoseTime = medicine.NextDoseTime; var totalTime = TimeOfDayHelper.GetTimeBetween(previousDoseTime, nextDoseTime); var remainingTime = TimeOfDayHelper.GetTimeOffsetForNextPill(medicine.NextDoseTime); var countDown = ((int)remainingTime.TotalMinutes * 100) / (int)totalTime.TotalMinutes; return(countDown > CountDownMaxValue ? CountDownMaxValue : countDown); }
void UpdateCurrentMedicine(MedicineWithDoses medicine) { CurrentMedicine = medicine; FirstMedicineSelected = _firstMedicine == medicine; }
public static int CalcCountDownValue(MedicineWithDoses medicine) { return(CalcCountDownValue(medicine, _dateTimeProvider)); }