protected override ProtocolGroupData Export(ProtocolGroup group, IReadContext context) { ProtocolGroupData data = new ProtocolGroupData(); data.Name = group.Name; data.Description = group.Description; data.Codes = CollectionUtils.Map <ProtocolCode, ProtocolCodeData>(group.Codes, delegate(ProtocolCode code) { ProtocolCodeData s = new ProtocolCodeData(); s.Name = code.Name; s.Description = code.Description; return(s); }); data.ReadingGroups = CollectionUtils.Map <ReadingGroup, ReadingGroupData>(group.ReadingGroups, delegate(ReadingGroup rg) { ReadingGroupData s = new ReadingGroupData(); s.Name = rg.Name; return(s); }); return(data); }
protected override void Import(ProtocolGroupData data, IUpdateContext context) { ProtocolGroup group = LoadOrCreateProtocolGroup(data.Name, context); group.Description = data.Description; if (data.Codes != null) { foreach (ProtocolCodeData s in data.Codes) { ProtocolCode code = LoadOrCreateProtocolCode(s.Name, context); code.Description = s.Description; group.Codes.Add(code); } } if (data.ReadingGroups != null) { foreach (ReadingGroupData s in data.ReadingGroups) { ReadingGroupSearchCriteria criteria = new ReadingGroupSearchCriteria(); criteria.Name.EqualTo(s.Name); IReadingGroupBroker broker = context.GetBroker <IReadingGroupBroker>(); ReadingGroup rg = CollectionUtils.FirstElement(broker.Find(criteria)); if (rg != null) { group.ReadingGroups.Add(rg); } } } }