Exemplo n.º 1
0
        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));
            });
        }
Exemplo n.º 2
0
        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();
        }