/// <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; }
/// <summary> /// MemberwiseCopy /// </summary> /// <param name="dest"></param> public void MemberwiseCopy(object dest) { ObjectEx.MemberwiseCopy(this, dest); return; }