private void ConvertVitalWithPressureUnits <T>(T target, VitalSettings settings) where T : IConvertibleVital
        {
            if (target.Name == VitalType.SystolicBloodPressure)
            {
                var targetUnitType = settings.SystolicBloodPressureUnitType ??
                                     VitalSettings.DefaultVitalUnits[VitalType.SystolicBloodPressure];

                if (target.Unit == targetUnitType)
                {
                    return;
                }

                ConvertUnit(target, targetUnitType);
            }

            if (target.Name == VitalType.DiastolicBloodPressure)
            {
                var targetUnitType = settings.DiastolicBloodPressure ??
                                     VitalSettings.DefaultVitalUnits[VitalType.DiastolicBloodPressure];

                if (target.Unit == targetUnitType)
                {
                    return;
                }

                ConvertUnit(target, targetUnitType);
            }
        }
 /// <summary>
 /// Converts the specified source vitals to the same unit types accordding to the settings.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="target">The target.</param>
 /// <param name="settings">The settings.</param>
 public void Convert <T>(T target, VitalSettings settings) where T : IConvertibleVital
 {
     ConvertVitalWithPressureUnits(target, settings);
     ConvertVitalWithTemperatureUnits(target, settings);
     ConvertVitalWithWeightUnits(target, settings);
     ConvertVitalWithConcentrationUnits(target, settings);
 }
        private void ConvertVitalWithConcentrationUnits <T>(T target, VitalSettings settings) where T : IConvertibleVital
        {
            if (target.Name == VitalType.BloodGlucose)
            {
                var targetUnitType = settings.BloodGlucose ??
                                     VitalSettings.DefaultVitalUnits[VitalType.BloodGlucose];

                if (target.Unit == targetUnitType)
                {
                    return;
                }

                ConvertUnit(target, targetUnitType);
            }
        }
        private void ConvertVitalWithWeightUnits <T>(T target, VitalSettings settings) where T : IConvertibleVital
        {
            if (target.Name == VitalType.Weight)
            {
                var targetUnitType = settings.Weight ??
                                     VitalSettings.DefaultVitalUnits[VitalType.Weight];

                if (target.Unit == targetUnitType)
                {
                    return;
                }

                ConvertUnit(target, targetUnitType);
            }
        }