private TherapyDose GetTherapyDose(string v)
        {
            string[] tokens = v.Split(_thirdListDelimiter.ToCharArray());
            Dictionary <TherapyTime, double> dosage = new Dictionary <TherapyTime, double>();

            foreach (string token in tokens)
            {
                string[] dosageTokens = token.Split(_fourthListDelimiter.ToCharArray());

                if (string.IsNullOrEmpty(dosageTokens[0]))
                {
                    break;
                }

                dosage.Add((TherapyTime)Enum.Parse(typeof(TherapyTime), dosageTokens[0]), double.Parse(dosageTokens[1]));
            }

            TherapyDose therapyDose = new TherapyDose(dosage);

            return(therapyDose);
        }
        private Dictionary <Medicine, TherapyDose> GetMedicines(string v)
        {
            string[] tokens = v.Split(_listDelimiter.ToCharArray());
            Dictionary <Medicine, TherapyDose> retVal = new Dictionary <Medicine, TherapyDose>();

            foreach (string token in tokens)
            {
                string[] medicineTokens = token.Split(_secondaryListDelimiter.ToCharArray());

                if (string.IsNullOrEmpty(medicineTokens[0]))
                {
                    break;
                }

                Medicine    medicine    = new Medicine(long.Parse(medicineTokens[0]));
                TherapyDose therapyDose = GetTherapyDose(medicineTokens[1]);
                retVal.Add(medicine, therapyDose);
            }

            return(retVal);
        }
 private string GetTherapyDoseCSV(TherapyDose dose)
 => string.Join(_thirdListDelimiter, dose.Dosage.Select(v => v.Key + _fourthListDelimiter + v.Value));