示例#1
0
        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);
        }
示例#2
0
        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);
                    }
                }
            }
        }