Esempio n. 1
0
        // SUMMARY: Reconstruct default value
        private string GetDefaultValue(DMGColumnInfo column)
        {
            if (string.IsNullOrEmpty(column.Default))
            {
                if (column.TranslatedType.Contains("?"))
                {
                    return("null");
                }
                else
                {
                    return("default");
                }
            }

            string data = column.Default.Replace("(", string.Empty).Replace(")", string.Empty);

            if (column.TranslatedType.Equals("string"))
            {
                return(string.Format("\"{0}\"", data));
            }

            if (column.TranslatedType.Equals("Guid"))
            {
                return("Guid.NewGuid()");
            }

            if (column.TranslatedType.Equals("DateTime") || column.TranslatedType.Equals("DateTime?"))
            {
                return("DateTime.Now");
            }

            if (column.TranslatedType.Equals("bool") || column.TranslatedType.Equals("bool?"))
            {
                return(data.Equals("1") ? "true" : "false");
            }

            return(data);
        }
Esempio n. 2
0
        /// PRIVATES
        ///

        public virtual List <DMGTableInfo> GetTables()
        {
            List <DMGTableInfo> result = new List <DMGTableInfo>();
            var data = this.Database.Load <DMGInitialSqlResponse>(this.Query);

            foreach (var row in data)
            {
                if (this.IgnoreTables.Contains <string>(row.table_name))
                {
                    continue;
                }

                var table = (from r in result where r.TableName.Equals(row.table_name) select r).FirstOrDefault();
                if (table == null)
                {
                    table = new DMGTableInfo()
                    {
                        Schema = row.schema, TableName = row.table_name
                    };
                    result.Add(table);
                }

                var column = new DMGColumnInfo()
                {
                    Name       = row.column_name,
                    Default    = row.column_default,
                    Length     = row.length,
                    IsPrimary  = table.Columns.Count == 0,
                    Type       = row.type,
                    IsNullable = row.is_nullable != null && row.is_nullable.Equals("YES")
                };
                column.TranslatedType = this.GetColumnType(column.Type, column.IsNullable);

                table.Columns.Add(column);
            }

            return(result);
        }
Esempio n. 3
0
        // SUMMARY: Construct DMColumn data
        private string GetDColumnData(DMGColumnInfo column)
        {
            string result = "";

            if (column.IsPrimary)
            {
                result += ", IsPrimary=true";
            }
            if (!string.IsNullOrEmpty(column.Default))
            {
                result += ", HasDefaultValue=true";
            }
            if (column.IsNullable)
            {
                result += ", Nullable=true";
            }

            if (column.TranslatedType.Equals("DateTime"))
            {
                if (column.Name.ToLower().Equals("updated"))
                {
                    result += ", DateTimeUpdate=true, NotUpdatable=true";
                }
                else if (column.Name.ToLower().Equals("created"))
                {
                    result += ", NotUpdatable=true";
                }
                else if (!string.IsNullOrEmpty(column.Default))
                {
                    result += ", NotUpdatable=true";
                }
            }
            //if (column.TranslatedType.Equals("DateTime") && !string.IsNullOrEmpty(column.Default))
            //  result += ", DateTimeUpdate=true, NotUpdatable=true";

            return(result);
        }