Beispiel #1
0
        /// <summary>
        /// Persists the component
        /// </summary>
        public SVC.Core.DataTypes.VersionedDomainIdentifier Persist(System.Data.IDbConnection conn, System.Data.IDbTransaction tx, System.ComponentModel.IComponent data, bool isUpdate)
        {
            RepositoryDevice device = data as RepositoryDevice;

            using (IDbCommand cmd = DbUtil.CreateCommandStoredProc(conn, tx))
            {
                if (device.AlternateIdentifier == null ||
                    String.IsNullOrEmpty(device.AlternateIdentifier.Domain))
                {
                    throw new ConstraintException(ApplicationContext.LocaleService.GetString("DTPE009"));
                }

                // create parmaeters
                cmd.CommandText = "crt_dev";
                cmd.Parameters.Add(DbUtil.CreateParameterIn(cmd, "dev_root_in", DbType.String, device.AlternateIdentifier.Domain));
                cmd.Parameters.Add(DbUtil.CreateParameterIn(cmd, "dev_ext_in", DbType.String, String.IsNullOrEmpty(device.AlternateIdentifier.Identifier) ? DBNull.Value : (object)device.AlternateIdentifier.Identifier));
                cmd.Parameters.Add(DbUtil.CreateParameterIn(cmd, "dev_name_in", DbType.String, device.Name));
                cmd.Parameters.Add(DbUtil.CreateParameterIn(cmd, "dev_jur_in", DbType.String, device.Jurisdiction));

                // Versioned domain identifier
                return(new SVC.Core.DataTypes.VersionedDomainIdentifier()
                {
                    Identifier = Convert.ToString(cmd.ExecuteScalar()),
                    Domain = ApplicationContext.ConfigurationService.OidRegistrar.GetOid(ClientRegistryOids.DEVICE_CRID).Oid
                });
            }
        }
Beispiel #2
0
        /// <summary>
        /// Create Repository Device
        /// </summary>
        private RepositoryDevice CreateRepositoryDevice(MARC.Everest.RMIM.CA.R020403.COCT_MT090310CA.AssignedDevice assignedDevice, List <IResultDetail> dtls)
        {
            RepositoryDevice retVal = new RepositoryDevice();

            // Identifier for the device
            if (assignedDevice.Id == null || assignedDevice.Id.IsNull)
            {
                dtls.Add(new MandatoryElementMissingResultDetail(ResultDetailType.Error, m_localeService.GetString("MSGE00D"), null));
            }
            else
            {
                retVal.AlternateIdentifier = CreateDomainIdentifier(assignedDevice.Id, dtls);
            }

            // Repository jurisdiction
            if (assignedDevice.RepresentedRepositoryJurisdiction == null || assignedDevice.RepresentedRepositoryJurisdiction.NullFlavor != null ||
                assignedDevice.RepresentedRepositoryJurisdiction.Name == null || assignedDevice.RepresentedRepositoryJurisdiction.Name.IsNull)
            {
                dtls.Add(new MandatoryElementMissingResultDetail(ResultDetailType.Error, m_localeService.GetString("MSGE00E"), null));
            }
            else
            {
                retVal.Jurisdiction = assignedDevice.RepresentedRepositoryJurisdiction.Name;
            }

            // Assigned repository
            if (assignedDevice.AssignedRepository == null || assignedDevice.AssignedRepository.NullFlavor != null ||
                assignedDevice.AssignedRepository.Name == null || assignedDevice.AssignedRepository.Name.IsNull)
            {
                dtls.Add(new MandatoryElementMissingResultDetail(ResultDetailType.Error, m_localeService.GetString("MSGE00F"), null));
            }
            else
            {
                retVal.Name = assignedDevice.AssignedRepository.Name;
            }

            return(retVal);
        }
Beispiel #3
0
 /// <summary>
 /// Create custodian device
 /// </summary>
 private MARC.Everest.RMIM.CA.R020403.REPC_MT000007CA.Custodian CreateCustodialDevice(RepositoryDevice custodialDevice, List <IResultDetail> details)
 {
     return(new MARC.Everest.RMIM.CA.R020403.REPC_MT000007CA.Custodian(
                new MARC.Everest.RMIM.CA.R020403.COCT_MT090310CA.AssignedDevice(
                    CreateII(custodialDevice.AlternateIdentifier, details),
                    new MARC.Everest.RMIM.CA.R020403.COCT_MT090310CA.Repository(
                        custodialDevice.Name
                        ),
                    new MARC.Everest.RMIM.CA.R020403.COCT_MT090310CA.RepositoryJurisdiction(
                        custodialDevice.Jurisdiction
                        )
                    )
                ));
 }