private Task <ModelProtocol> createSimpleProtocolFrom(SnapshotProtocol snapshotProtocol) { var applicationType = ApplicationTypes.ByName(snapshotProtocol.ApplicationType); var simpleProtocol = _protocolFactory.Create(ProtocolMode.Simple, applicationType).DowncastTo <SimpleProtocol>(); simpleProtocol.DosingInterval = DosingIntervals.ById(snapshotProtocol.DosingInterval); simpleProtocol.TargetOrgan = snapshotProtocol.TargetOrgan; simpleProtocol.TargetCompartment = snapshotProtocol.TargetCompartment; return(Task.FromResult <ModelProtocol>(simpleProtocol)); }
public Protocol MapFrom(ApplicationProtocol batchProtocol) { var applicationType = ApplicationTypes.ByName(batchProtocol.ApplicationType); var dosingIntervalId = EnumHelper.ParseValue <DosingIntervalId>(batchProtocol.DosingInterval); var simpleProtocol = _protocolFactory.Create(ProtocolMode.Simple, applicationType).DowncastTo <SimpleProtocol>(); simpleProtocol.Name = batchProtocol.Name ?? "Protocol"; simpleProtocol.EndTimeParameter.Value = batchProtocol.EndTime; simpleProtocol.Dose.DisplayUnit = simpleProtocol.Dose.Dimension.Unit(batchProtocol.DoseUnit); simpleProtocol.Dose.Value = simpleProtocol.Dose.Dimension.UnitValueToBaseUnitValue(simpleProtocol.Dose.DisplayUnit, batchProtocol.Dose); simpleProtocol.DosingInterval = DosingIntervals.ById(dosingIntervalId); _logger.AddDebug($"Application Type = {applicationType.Name}"); _logger.AddDebug($"Dosing Interval = {simpleProtocol.DosingInterval.DisplayName}"); _logger.AddDebug($"Application Dose = {simpleProtocol.Dose.Value} [{simpleProtocol.Dose.DisplayUnit}]"); _logger.AddDebug($"Application End Time = {simpleProtocol.EndTime}"); return(simpleProtocol); }
public IEnumerable <DosingInterval> AllDosingIntervals() { return(DosingIntervals.All()); }
public override object ConvertFrom(string attributeValue, SerializationContext context) { var dosingIntervalId = EnumHelper.ParseValue <DosingIntervalId>(attributeValue); return(DosingIntervals.ById(dosingIntervalId)); }