public static object ToIncrementalId(this string id, Type idType, IFormatProvider provider = null) { idType.NotNull(nameof(idType)); if (provider.IsNull()) { provider = CultureInfo.InvariantCulture; } object obj = idType.Name switch { "SByte" => sbyte.Parse(id, provider), "Byte" => byte.Parse(id, provider), "Int16" => short.Parse(id, provider), "UInt16" => ushort.Parse(id, provider), "Int32" => int.Parse(id, provider), "UInt32" => uint.Parse(id, provider), "Int64" => long.Parse(id, provider), "UInt64" => ulong.Parse(id, provider), _ => new NotSupportedException() }; return(obj); } }
public static object ToCreatedBy(this string by, Type byType, IFormatProvider provider = null) { byType.NotNull(nameof(byType)); if (provider.IsNull()) { provider = CultureInfo.InvariantCulture; } object obj = byType.Name switch { "Guid" => Guid.Parse(by), "SByte" => sbyte.Parse(by, provider), "Byte" => byte.Parse(by, provider), "Int16" => short.Parse(by, provider), "UInt16" => ushort.Parse(by, provider), "Int32" => int.Parse(by, provider), "UInt32" => uint.Parse(by, provider), "Int64" => long.Parse(by, provider), "UInt64" => ulong.Parse(by, provider), _ => new NotSupportedException() }; return(obj); }
/// <summary> /// Alias for Convert.ToDecimal /// </summary> public static Decimal ToDecimal(this Object _object, IFormatProvider _provider = null) { try { if (_provider.IsNull()) return Convert.ToDecimal(_object); return Convert.ToDecimal(_object, _provider); } catch (Exception ex) { throw new Exceptions.Convert(ex); } }
public static object ToGenerativeId(this string id, Type idType, IFormatProvider provider = null) { idType.NotNull(nameof(idType)); if (provider.IsNull()) { provider = CultureInfo.InvariantCulture; } object obj = idType.Name switch { "Guid" => Guid.Parse(id), "Int64" => long.Parse(id, provider), "String" => id, _ => new NotSupportedException() }; return(obj); }
public static object ToCreatedTime(this string time, Type timeType, IFormatProvider provider = null) { timeType.NotNull(nameof(timeType)); if (provider.IsNull()) { provider = CultureInfo.InvariantCulture; } object obj = timeType.Name switch { "DateTime" => DateTime.Parse(time, provider), "DateTimeOffset" => DateTimeOffset.Parse(time, provider), "Int64" => new DateTime(long.Parse(time, provider)), _ => new NotSupportedException() }; return(obj); } }