public AlmostVersion(string vertext, StoredAs mode) { if (!TryParseFrom(vertext, mode)) { throw new ArgumentException($"{nameof(vertext)} could not be stored as {mode}!"); } }
private string Convert(StoredAs.ValueType vt, int length, bool notNull) { string result = ""; switch (vt) { case StoredAs.ValueType.Bool: { result = "TINYINT(1) " + (notNull ? "NOT NULL" : "NULL"); break; } case StoredAs.ValueType.Char: { result = $"CHAR ({(length <= 1 ? 1 : length)}) " + (notNull ? "NOT NULL" : "NULL"); break; } case StoredAs.ValueType.Float: { result = $"FLOAT {(length > 0 ? $"({length})" : "")} " + (notNull ? "NOT NULL" : "NULL"); break; } case StoredAs.ValueType.Int: { result = $"INT {(length > 0 ? $"({length})" : "(11)")} " + (PrimaryKey ? "NOT NULL" : (notNull ? "NOT NULL" : "NULL")); break; } case StoredAs.ValueType.Text: { result = "TEXT " + (notNull ? "NOT NULL" : "NULL"); break; } case StoredAs.ValueType.Time: { result = $"TIMESTAMP {(length > 0 ? $"({length})" : "")} " + (notNull ? "NOT NULL" : "NULL") + " DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"; break; } case StoredAs.ValueType.Varchar: { result = $"VARCHAR {(length > 0 ? $"({length})" : "(50)")} " + (notNull ? "NOT NULL" : "NULL"); break; } case StoredAs.ValueType.Date: { result = "DATE " + (notNull ? "NOT NULL" : "NULL"); break; } case StoredAs.ValueType.Long: { result = $"BIGINT {(length > 0 ? $"({length})" : "(20)")} " + (PrimaryKey ? "NOT NULL" : (notNull ? "NOT NULL" : "NULL")); break; } } return result; }
private bool TryParseFrom(string str, StoredAs mode) { if (mode == StoredAs.SemVer) { StorageMode = StoredAs.SemVer; var result = Version.TryParse(str, out var version); SemverValue = version; return(result); } else { StringValue = str; StorageMode = StoredAs.String; return(true); } }
protected static string ConvertDataTypeToString(StoredAs storedAs) { string reslut = ""; switch (storedAs.Type) { case StoredAs.ValueType.Bool: { reslut = "bool"; break; } case StoredAs.ValueType.Date: { reslut = "date"; break; } case StoredAs.ValueType.Time: { reslut = "timestamp(11)"; break; } case StoredAs.ValueType.Text: { reslut = "text"; break; } case StoredAs.ValueType.Double: case StoredAs.ValueType.Float: case StoredAs.ValueType.Int: case StoredAs.ValueType.String: case StoredAs.ValueType.BigInt: { reslut = $"{storedAs.Type}({storedAs.Lenth})"; break; } } return(reslut); }
private bool TryParseFrom(string str, StoredAs mode) { if (mode == StoredAs.SemVer) try { SemverValue = new Version(str, true); StorageMode = StoredAs.SemVer; return true; } catch { return false; } else { StringValue = str; StorageMode = StoredAs.String; return true; } }
protected static string ConvertDataTypeToString(StoredAs storedAs) { string reslut = ""; switch (storedAs.Type) { case DataType.Bool: { reslut = "bool"; break; } case DataType.Date: { reslut = "date"; break; } case DataType.Time: { reslut = "time"; break; } case DataType.Text: { reslut = "text"; break; } case DataType.String: { reslut = $"{storedAs.Type.ToString().ToLower()}({storedAs.Lenth})"; break; } } return(reslut); }