Пример #1
0
 /// <summary>
 /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider"
 /// /> and <see cref="ignoreCase" />
 /// </summary>
 /// <param name="sourceValue">the value to convert into an instance of <see cref="VmDisk" />.</param>
 /// <returns>
 /// an instance of <see cref="VmDisk" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public static object ConvertFrom(dynamic sourceValue)
 {
     if (null == sourceValue)
     {
         return(null);
     }
     try
     {
         VmDisk.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());
     }
     catch
     {
         // Unable to use JSON pattern
     }
     try
     {
         return(new VmDisk
         {
             DataSourceReference = ReferenceTypeConverter.ConvertFrom(sourceValue.DataSourceReference),
             DeviceProperties = VmDiskDevicePropertiesTypeConverter.ConvertFrom(sourceValue.DeviceProperties),
             DiskSizeBytes = sourceValue.DiskSizeBytes,
             DiskSizeMib = sourceValue.DiskSizeMib,
             Uuid = sourceValue.Uuid,
             VolumeGroupReference = ReferenceTypeConverter.ConvertFrom(sourceValue.VolumeGroupReference),
         });
     }
     catch
     {
     }
     return(null);
 }
Пример #2
0
        public override string GetQuotedValue(object value, Type fieldType)
        {
            if (value == null)
            {
                return("NULL");
            }

            IOrmLiteConverter converter = null;

            try
            {
                var isEnum = fieldType.IsEnum || value.GetType().IsEnum;
                if (isEnum)
                {
                    return(EnumConverter.ToQuotedString(fieldType, value));
                }

                if (Converters.TryGetValue(fieldType, out converter))
                {
                    return(converter.ToQuotedString(fieldType, value));
                }

                if (fieldType.IsRefType())
                {
                    return(ReferenceTypeConverter.ToQuotedString(fieldType, value));
                }

                if (fieldType.IsValueType())
                {
                    return(ValueTypeConverter.ToQuotedString(fieldType, value));
                }
            }
            catch (Exception ex)
            {
                Log.Error("Error in {0}.ToQuotedString() value '{0}' and Type '{1}'"
                          .Fmt(converter.GetType().Name, value != null ? value.GetType().Name : "undefined", fieldType.Name), ex);
                throw;
            }

            return(ShouldQuoteValue(fieldType)
                    ? GetQuotedValue(value.ToString())
                    : value.ToString());
        }
 /// <summary>
 /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider"
 /// /> and <see cref="ignoreCase" />
 /// </summary>
 /// <param name="sourceValue">the value to convert into an instance of <see cref="VmResourcesDefStatus" />.</param>
 /// <returns>
 /// an instance of <see cref="VmResourcesDefStatus" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public static object ConvertFrom(dynamic sourceValue)
 {
     if (null == sourceValue)
     {
         return(null);
     }
     try
     {
         VmResourcesDefStatus.FromJsonString(typeof(string) == sourceValue.GetType() ? sourceValue : sourceValue.ToJsonString());
     }
     catch
     {
         // Unable to use JSON pattern
     }
     try
     {
         return(new VmResourcesDefStatus
         {
             BootConfig = VmBootConfigTypeConverter.ConvertFrom(sourceValue.BootConfig),
             DiskList = sourceValue.DiskList,
             GpuList = sourceValue.GpuList,
             GuestCustomization = GuestCustomizationStatusTypeConverter.ConvertFrom(sourceValue.GuestCustomization),
             GuestOsId = sourceValue.GuestOsId,
             GuestTools = GuestToolsStatusTypeConverter.ConvertFrom(sourceValue.GuestTools),
             HardwareClockTimezone = sourceValue.HardwareClockTimezone,
             HostReference = ReferenceTypeConverter.ConvertFrom(sourceValue.HostReference),
             HypervisorType = sourceValue.HypervisorType,
             MemorySizeMib = sourceValue.MemorySizeMib,
             NicList = sourceValue.NicList,
             NumSockets = sourceValue.NumSockets,
             NumVcpusPerSocket = sourceValue.NumVcpusPerSocket,
             ParentReference = ReferenceTypeConverter.ConvertFrom(sourceValue.ParentReference),
             PowerState = sourceValue.PowerState,
             PowerStateMechanism = VmPowerStateMechanismTypeConverter.ConvertFrom(sourceValue.PowerStateMechanism),
             VgaConsoleEnabled = sourceValue.VgaConsoleEnabled,
             VnumaConfig = VmVnumaConfigTypeConverter.ConvertFrom(sourceValue.VnumaConfig),
         });
     }
     catch
     {
     }
     return(null);
 }
Пример #4
0
        public override object ToDbValue(object value, Type type)
        {
            if (value == null || value is DBNull)
            {
                return(null);
            }

            if (type.IsEnum && !type.HasAttribute <EnumAsIntAttribute>())
            {
                return(EnumConverter.ToDbValue(type, value));
            }

            if (type.IsRefType())
            {
                return(ReferenceTypeConverter.ToDbValue(type, value));
            }

            IOrmLiteConverter converter = null;

            try
            {
                if (Converters.TryGetValue(type, out converter))
                {
                    if (type == typeof(DateTimeOffset))
                    {
                        return(converter.ToQuotedString(type, value));
                    }

                    return(converter.ToDbValue(type, value));
                }
            }
            catch (Exception ex)
            {
                Log.Error("Error in {0}.ToDbValue() value '{1}' and Type '{2}'"
                          .Fmt(converter.GetType().Name, value != null ? value.GetType().Name : "undefined", type.Name), ex);
                throw;
            }

            return(base.ToDbValue(value, type));
        }