protected override StaffGroupData Export(StaffGroup entity, IReadContext context) { StaffGroupData data = new StaffGroupData(); data.Deactivated = entity.Deactivated; data.Name = entity.Name; data.Description = entity.Description; data.Elective = entity.Elective; data.Members = CollectionUtils.Map <Staff, StaffMemberData>( entity.Members, delegate(Staff staff) { StaffMemberData s = new StaffMemberData(); s.Id = staff.Id; return(s); }); return(data); }
protected override void Import(StaffGroupData data, IUpdateContext context) { StaffGroup group = LoadOrCreateGroup(data.Name, context); group.Deactivated = data.Deactivated; group.Description = data.Description; group.Elective = data.Elective; if (data.Members != null) { foreach (StaffMemberData s in data.Members) { StaffSearchCriteria where = new StaffSearchCriteria(); where.Id.EqualTo(s.Id); Staff staff = CollectionUtils.FirstElement(context.GetBroker <IStaffBroker>().Find(where)); if (staff != null) { group.Members.Add(staff); } } } }