Пример #1
0
        /// <summary>
        /// Update the local copy of the Ucdb object with returned values keeping compounds & models if returned as null
        /// </summary>
        /// <param name="resultObject"></param>
        /// <param name="ucdb"></param>

        void UpdateUcdb(
            Services.Native.NativeMethodTransportObject resultObject,
            UcdbDatabase ucdb)
        {
            if (resultObject == null || resultObject.Value == null || ucdb == null)
            {
                return;
            }

            ServiceTypes.UcdbDatabase serviceUcdbDatabase =
                (ServiceTypes.UcdbDatabase)resultObject.Value;
            UcdbDatabase ucdbDatabase =
                ServiceFacade.TypeConversionHelper.Convert <ServiceTypes.UcdbDatabase, UcdbDatabase>(serviceUcdbDatabase);

            UcdbCompound[] compounds = ucdb.Compounds;
            UcdbModel[]    models    = ucdb.Models;
            ObjectEx.MemberwiseCopy(ucdbDatabase, ucdb);             // copy values back
            if (ucdb.Compounds == null)
            {
                ucdb.Compounds = compounds;
            }
            if (ucdb.Models == null)
            {
                ucdb.Models = models;
            }
            return;
        }
Пример #2
0
        /// <summary>
        /// MemberwiseCopy
        /// </summary>
        /// <param name="dest"></param>

        public void MemberwiseCopy(object dest)
        {
            ObjectEx.MemberwiseCopy(this, dest);
            return;
        }