public void UpdateProcedureTypeGroup(ProcedureTypeGroup group, ProcedureTypeGroupDetail detail, IPersistenceContext context) { group.Name = detail.Name; group.Description = detail.Description; group.ProcedureTypes.Clear(); detail.ProcedureTypes.ForEach( delegate(ProcedureTypeSummary summary) { group.ProcedureTypes.Add(context.Load <ProcedureType>(summary.ProcedureTypeRef)); }); }
public ProcedureTypeGroupDetail GetProcedureTypeGroupDetail(ProcedureTypeGroup rptGroup, IPersistenceContext context) { ProcedureTypeGroupDetail detail = new ProcedureTypeGroupDetail(); detail.Name = rptGroup.Name; detail.Description = rptGroup.Description; detail.Category = GetCategoryEnumValueInfo(rptGroup.GetType()); ProcedureTypeAssembler assembler = new ProcedureTypeAssembler(); detail.ProcedureTypes = CollectionUtils.Map <ProcedureType, ProcedureTypeSummary, List <ProcedureTypeSummary> >( rptGroup.ProcedureTypes, delegate(ProcedureType rpt) { return(assembler.CreateSummary(rpt)); }); return(detail); }
public override void Start() { _availableProcedureTypes = new ProcedureTypeSummaryTable(); _selectedProcedureTypes = new ProcedureTypeSummaryTable(); Platform.GetService( delegate(IProcedureTypeGroupAdminService service) { var formDataResponse = service.GetProcedureTypeGroupEditFormData( new GetProcedureTypeGroupEditFormDataRequest { IncludeDeactivated = _includeDeactivatedProcedureTypes }); _procedureTypeGroupCategoryChoices = formDataResponse.Categories; _availableProcedureTypes.Items.AddRange(formDataResponse.ProcedureTypes); if (_isNew) { _editedItemDetail = new ProcedureTypeGroupDetail { Category = _procedureTypeGroupCategoryChoices[0] }; } else { var response = service.LoadProcedureTypeGroupForEdit( new LoadProcedureTypeGroupForEditRequest(_editedItemEntityRef)); _editedItemEntityRef = response.EntityRef; _editedItemDetail = response.Detail; _selectedProcedureTypes.Items.AddRange(_editedItemDetail.ProcedureTypes); } SubtractSelectedFromAvailable(); }); // sort both lists _availableProcedureTypes.Sort(); _selectedProcedureTypes.Sort(); base.Start(); }