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); }
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); }
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); }
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); }
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); }