Ejemplo n.º 1
0
        public static DatabaseDataType AddIfMissing(this SongDataContext context, object entityToAdd, List <object> refChain = null, Func <DatabaseDataType, bool> searchPredicate = null)
        {
            if (!typeof(DatabaseDataType).IsAssignableFrom(entityToAdd.GetType()))
            {
                throw new ArgumentException("EntityToAdd is not a DatabaseDataType");
            }

            DatabaseDataType retVal = entityToAdd as DatabaseDataType;

            if (refChain == null)
            {
                refChain = new List <object>();
            }
            if (refChain.Contains(entityToAdd))
            {
                return(retVal);
            }


            if (entityToAdd is Song song)
            {
                retVal = context.AddIfMissing <Song>(song, refChain);
            }
            else if (entityToAdd is ScoreSaberDifficulty ssDiff)
            {
                retVal = context.AddIfMissing <ScoreSaberDifficulty>(ssDiff, refChain);
            }
            //else if (entityToAdd is Characteristic characteristic)
            //    retVal = context.AddIfMissing<Characteristic>(characteristic, refChain);
            else if (entityToAdd is BeatmapCharacteristic bmChar)
            {
                retVal = context.AddIfMissing <BeatmapCharacteristic>(bmChar, refChain);//, bc => (bc.CharacteristicName == bmChar.CharacteristicName && bc.SongId == bmChar.SongId));
            }
            else if (entityToAdd is CharacteristicDifficulty charDiff)
            {
                retVal = context.AddIfMissing <CharacteristicDifficulty>(charDiff, refChain);//, cd => (cd.Difficulty == charDiff.Difficulty && cd.BeatmapCharacteristic.SongId == charDiff.BeatmapCharacteristic.SongId));
            }
            //else if (entityToAdd is SongDifficulty songDiff)
            //    retVal = context.AddIfMissing<SongDifficulty>(songDiff, refChain);
            //else if (entityToAdd is Difficulty difficulty)
            //    retVal = context.AddIfMissing<Difficulty>(difficulty, refChain);
            else if (entityToAdd is Uploader uploader)
            {
                retVal = context.AddIfMissing <Uploader>(uploader, refChain);
            }

            return(retVal);
        }
Ejemplo n.º 2
0
        private bool IsString(DatabaseDataType dataType)
        {
            Boolean result = false;

            switch (dataType)
            {
            case DatabaseDataType.Char:
                result = true;
                break;

            case DatabaseDataType.LongText_Mariadb:
                result = true;
                break;

            case DatabaseDataType.Nchar_MsSql:
                result = true;
                break;

            case DatabaseDataType.Ntext_MsSql:
                result = true;
                break;

            case DatabaseDataType.NvarChar_MsSql:
                result = true;
                break;

            case DatabaseDataType.Text:
                result = true;
                break;

            case DatabaseDataType.VarChar:
                result = true;
                break;

            default:
                break;
            }
            return(result);
        }
Ejemplo n.º 3
0
        private static ModelPropeprtyRule GetCheckRule(DatabaseDataType databaseDataType)
        {
            ModelPropeprtyRule result = null;

            switch (databaseDataType)
            {
            case DatabaseDataType.BigInt:
                result = new ModelPropeprtyRule(new DataRang <long>()
                {
                    MaxVal = long.MaxValue, MinVal = long.MinValue
                });
                break;

            case DatabaseDataType.Bit:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Char:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Date:
                result = new ModelPropeprtyRule(new DataRang <DateTime>());
                break;

            case DatabaseDataType.Datetime:
                result = new ModelPropeprtyRule(new DataRang <DateTime>());
                break;

            case DatabaseDataType.Decimal:
                result = new ModelPropeprtyRule(new DataRang <decimal>()
                {
                    MaxVal = decimal.MaxValue, MinVal = decimal.MinValue
                });
                break;

            case DatabaseDataType.Double:
                result = new ModelPropeprtyRule(new DataRang <double>()
                {
                    MaxVal = double.MaxValue, MinVal = double.MinValue
                });
                break;

            case DatabaseDataType.Float:
                result = new ModelPropeprtyRule(new DataRang <float>()
                {
                    MaxVal = float.MaxValue, MinVal = float.MinValue
                });
                break;

            case DatabaseDataType.Int:
                result = new ModelPropeprtyRule(new DataRang <int>()
                {
                    MaxVal = int.MaxValue, MinVal = int.MinValue
                });
                break;

            case DatabaseDataType.LongText_Mariadb:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Money_MsSql:
                result = new ModelPropeprtyRule(new DataRang <decimal>()
                {
                    MaxVal = decimal.MaxValue, MinVal = decimal.MinValue
                });
                break;

            case DatabaseDataType.Nchar_MsSql:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Ntext_MsSql:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.NvarChar_MsSql:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Text:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Time:
                result = new ModelPropeprtyRule(new DataRang <DateTime>());
                break;

            case DatabaseDataType.Timestamp:
                result = new ModelPropeprtyRule(new DataRang <DateTime>());
                break;

            case DatabaseDataType.TinyInt:
                result = new ModelPropeprtyRule(new DataRang <byte>()
                {
                    MaxVal = byte.MaxValue, MinVal = byte.MinValue
                });
                break;

            case DatabaseDataType.VarChar:
                result = new ModelPropeprtyRule();
                break;

            case DatabaseDataType.Year:
                result = new ModelPropeprtyRule(new DataRang <DateTime>());
                break;

            default:
                result = new ModelPropeprtyRule();
                break;
            }
            return(result);
        }
Ejemplo n.º 4
0
        private string GetJavaDataType(DatabaseDataType dataType)
        {
            String result = "String";

            switch (dataType)
            {
            case DatabaseDataType.BigInt:
                result = "BigInteger";
                break;

            case DatabaseDataType.Bit:
                result = "Boolean";
                break;

            case DatabaseDataType.Char:
                result = "String";
                break;

            case DatabaseDataType.Date:
                result = "java.util.Date";
                break;

            case DatabaseDataType.Datetime:
                result = "java.util.Date";
                break;

            case DatabaseDataType.Decimal:
                result = "BigDecimal";
                break;

            case DatabaseDataType.Double:
                result = "Double";
                break;

            case DatabaseDataType.Float:
                result = "Float";
                break;

            case DatabaseDataType.Int:
                result = "Integer";
                break;

            case DatabaseDataType.LongText_Mariadb:
                result = "String";
                break;

            case DatabaseDataType.Money_MsSql:
                result = "java.math.BigDecimal";
                break;

            case DatabaseDataType.Nchar_MsSql:
                result = "String";
                break;

            case DatabaseDataType.Ntext_MsSql:
                result = "String";
                break;

            case DatabaseDataType.NvarChar_MsSql:
                result = "String";
                break;

            case DatabaseDataType.Text:
                result = "String";
                break;

            case DatabaseDataType.Time:
                result = "java.util.Date";
                break;

            case DatabaseDataType.Timestamp:
                result = "java.util.Date";
                break;

            case DatabaseDataType.TinyInt:
                result = "Integer";
                break;

            case DatabaseDataType.VarChar:
                result = "String";
                break;

            case DatabaseDataType.Year:
                result = "java.util.Date";
                break;

            default:
                break;
            }
            return(result);
        }
Ejemplo n.º 5
0
        private string GetCsharpDataType(DatabaseDataType dataType, Boolean isNull = false)
        {
            String result = "String";

            switch (dataType)
            {
            case DatabaseDataType.BigInt:
                result = isNull ? "long?" : "long";
                break;

            case DatabaseDataType.Bit:
                result = isNull ? "bool?" : "bool";
                break;

            case DatabaseDataType.Char:
                result = "String";
                break;

            case DatabaseDataType.Date:
                result = isNull ? "DateTime?" : "DateTime";
                break;

            case DatabaseDataType.Datetime:
                result = isNull ? "DateTime?" : "DateTime";
                break;

            case DatabaseDataType.Decimal:
                result = isNull ? "decimal?" : "decimal";
                break;

            case DatabaseDataType.Double:
                result = isNull ? "double?" : "double";
                break;

            case DatabaseDataType.Float:
                result = isNull ? "float?" : "float";
                break;

            case DatabaseDataType.Int:
                result = isNull ? "int?" : "int";
                break;

            case DatabaseDataType.LongText_Mariadb:
                result = "String";
                break;

            case DatabaseDataType.Money_MsSql:
                result = isNull ? "decimal?" : "decimal";
                break;

            case DatabaseDataType.Nchar_MsSql:
                result = "String";
                break;

            case DatabaseDataType.Ntext_MsSql:
                result = "String";
                break;

            case DatabaseDataType.NvarChar_MsSql:
                result = "String";
                break;

            case DatabaseDataType.Text:
                result = "String";
                break;

            case DatabaseDataType.Time:
                result = isNull ? "DateTime?" : "DateTime";
                break;

            case DatabaseDataType.Timestamp:
                result = isNull ? "DateTime?" : "DateTime";
                break;

            case DatabaseDataType.TinyInt:
                result = isNull ? "byte?" : "byte";
                break;

            case DatabaseDataType.VarChar:
                result = "String";
                break;

            case DatabaseDataType.Year:
                result = isNull ? "DateTime?" : "DateTime";
                break;

            default:
                break;
            }
            return(result);
        }