public override void ApplyConfig(DicomConfig config)
        {
            // set up the Query/Retrieve information models
            QueryRetrieveInformationModels informationModels = new QueryRetrieveInformationModels();

            // load the information models
            informationModels.Load(config.DataDirectory);

            // add any default attribute values to the information models
            informationModels.AddDefaultAttribute("0x00080005", DvtkData.Dimse.VR.CS, "ISO IR 6");
            informationModels.AddDefaultAttribute("0x00080090", DvtkData.Dimse.VR.PN, "Referring^Physician^Dr");

            // add any additional attribute values to the information models
            informationModels.AddAdditionalAttribute("0x00080054", DvtkData.Dimse.VR.AE, config.DvtAeTitle);

            // set up the query/retrieve SCP
            QueryRetrieveScp queryRetrieveScp = new QueryRetrieveScp();
            Scp = queryRetrieveScp;

            // apply the remaining configuration
            base.ApplyConfig(config);

            // add the default message handlers with the information models
            queryRetrieveScp.AddDefaultMessageHandlers(informationModels);
        }
        /// <summary>
        /// Apply the Dicom Configuration to the Client,
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="config">Dicom Configuration.</param>
        public override void ApplyConfig(CommonConfig commonConfig, DicomPeerToPeerConfig config)
        {
            // set up the Query/Retrieve information models
            QueryRetrieveInformationModels informationModels = new QueryRetrieveInformationModels();

            // Do not load the Information Models here as they are loaded (refreshed) on each query
            // - just define the data directory
            informationModels.DataDirectory = RootedBaseDirectory.GetFullPathname(commonConfig.RootedBaseDirectory, config.SourceDataDirectory);

            // add any default attribute values to the information models
            bool overWriteExistingValue = true;
            informationModels.AddDefaultAttribute(overWriteExistingValue, "0x00080005", VR.CS, "ISO IR 6");
            informationModels.AddDefaultAttribute(overWriteExistingValue, "0x00080090", VR.PN, "Referring^Physician^Dr");

            // add any additional attribute values to the information models
            informationModels.AddAdditionalAttribute(overWriteExistingValue, "0x00080054", VR.AE, config.ToActorAeTitle);

            // set up the query/retrieve SCP
            QueryRetrieveScp queryRetrieveScp = new QueryRetrieveScp();

            // update supported transfer syntaxes here
            //queryRetrieveScp.ClearTransferSyntaxes();
            //queryRetrieveScp.AddTransferSyntax(HliScp.IMPLICIT_VR_LITTLE_ENDIAN);

            // Save the SCP and apply the configuration
            Scp = queryRetrieveScp;
            base.ApplyConfig(commonConfig, config);

            // add the default message handlers with the information models
            queryRetrieveScp.AddDefaultMessageHandlers(informationModels);
        }