public AlmostVersion(string vertext, StoredAs mode)
 {
     if (!TryParseFrom(vertext, mode))
     {
         throw new ArgumentException($"{nameof(vertext)} could not be stored as {mode}!");
     }
 }
Пример #2
0
 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);
     }
 }
Пример #4
0
        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);
        }