protected void Page_Load(object sender, EventArgs e) { try { var command = (CommandJson) new DataContractJsonSerializer(typeof(CommandJson)).ReadObject(HttpContext.Current.Request.InputStream); Result result = new Result(); if (command.Database == "MySQL") { result = MySQLAdapter.Process(command); } if (command.Database == "Firebird") { result = FirebirdAdapter.Process(command); } if (command.Database == "MS SQL") { result = MSSQLAdapter.Process(command); } if (command.Database == "PostgreSQL") { result = PostgreSQLAdapter.Process(command); } var serializer = new DataContractJsonSerializer(typeof(Result)); serializer.WriteObject(HttpContext.Current.Response.OutputStream, result); HttpContext.Current.Response.Headers.Add("Access-Control-Allow-Origin", "*"); HttpContext.Current.Response.Headers.Add("Cache-Control", "no-cache"); HttpContext.Current.Response.OutputStream.Flush(); HttpContext.Current.Response.End(); } catch {} }
public override bool Execute(IConfiguration configuration) { Configuration = configuration; using (var connector = new MySQLAdapter(Configuration)) { connector.SwitchDatabase(configuration.Database); } var adminUser = new SystemUser { Username = "******", Passhash = "test", CreatedAt = DateTime.Now, ModifiedAt = DateTime.Now, }; var repository = new SystemUserRepository(new MySQLAdapter(Configuration)); try { repository.Add(adminUser); } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(e.Message); return(false); } return(true); }
private static Result OnQuery() { var columns = new List <string>(); var rows = new List <string[]>(); var types = new List <string>(); for (var index = 0; index < reader.FieldCount; index++) { var columnName = reader.GetName(index); var columnType = MySQLAdapter.GetType(reader.GetFieldType(index)); columns.Add(columnName); types.Add(columnType); } while (reader.Read()) { var row = new string[reader.FieldCount]; for (var index = 0; index < reader.FieldCount; index++) { var columnName = reader.GetName(index); var columnType = MySQLAdapter.GetType(reader.GetFieldType(index)); var columnIndex = columns.IndexOf(columnName); if (types[columnIndex] != "array") { types[columnIndex] = columnType; } object value = null; if (!reader.IsDBNull(index)) { if (columnType == "array") { value = MySQLAdapter.GetBytes(index); } else { value = reader.GetValue(index); } } if (value == null) { value = ""; } row[index] = value.ToString(); } rows.Add(row); } return(End(new Result { Success = true, Columns = columns.ToArray(), Rows = rows.ToArray(), Types = types.ToArray() })); }
static void Main(string[] args) { var runAllScripts = args.Select(arg => arg.ToLower()).Contains(Flags.RunScriptsFlag); IConfiguration configuration = new Configuration("localhost", "", "3308", "root", ""); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Deployment started!\n"); using (var adapter = new MySQLAdapter(configuration, true)) { adapter.DropDatabase("blah", true); adapter.CreateDatabase("blah"); configuration.Database = "blah"; } Console.ForegroundColor = ConsoleColor.Yellow; using (var deployer = new MySQLDeployerService(Assembly.Load("InfoHub.Entity"), configuration)) { deployer.DeployAllClasses(null, typeof(BaseEntity)); deployer.RunAllScripts(Assembly.GetExecutingAssembly(), runAllScripts); } #region Fluent table creation //try //{ // Console.ForegroundColor = ConsoleColor.Yellow; // var connector = new MySQLAdapter(new Configuration("localhost", "", "3308", "root", ""), true); // connector.CreateDatabase("blah"); // connector.CreateTable(t => t.WithName("blah").WithColumn<int>("ID")); // connector.DropDatabase("blah"); //} //catch (Exception e) //{ // Console.ForegroundColor = ConsoleColor.Red; // Console.WriteLine("Deployment failure: " + e.Message); // Console.ReadLine(); // return; //} #endregion Console.ForegroundColor = ConsoleColor.Green; Console.Write("Deployment successfully finished. Press any key to exit..."); Console.ReadKey(); }
public IResponse <List <GenericModel> > GetAdapterData(long jobDefinitionId) { var response = new Response <List <GenericModel> > { Value = new List <GenericModel>() }; try { var adapterParameters = _jobDefinitionService.GetAdapterParameter(jobDefinitionId); if (adapterParameters.Status != StatusEnum.Success) { response.Status = StatusEnum.Error; return(response); } IAdapter adapter; switch (adapterParameters.Value.Adapter) { case AdapterTypeItemEnum.MSSQL: adapter = new MSSQLAdapter(_logger); response = adapter.ConnectAndRead(adapterParameters.Value.QueryRead, adapterParameters.Value.ConnString.MSSQLConnString); break; case AdapterTypeItemEnum.MySQL: adapter = new MySQLAdapter(_logger); response = adapter.ConnectAndRead(adapterParameters.Value.QueryRead, adapterParameters.Value.ConnString.MySQLConnString); break; case AdapterTypeItemEnum.Oracle: adapter = new OracleAdapter(_logger); response = adapter.ConnectAndRead(adapterParameters.Value.QueryRead, adapterParameters.Value.ConnString.OracleConnString); break; } } catch (Exception ex) { _logger.Information($"DbAdapterService.GetAdapterData(jobId: {jobDefinitionId})"); _logger.Error(ex.Message); response.Status = StatusEnum.Error; } return(response); }
public void SystemUserWriteTest() { IConfiguration configuration = new Configuration("localhost", "blah", "3308", "root", ""); using (var adapter = new MySQLAdapter(configuration, true)) { } // Setup var user = new SystemUser { Username = "******", Passhash = "password".Hash() }; // Execute //repository.Add(user); //var test = repository.GetUserByUsername("test"); // Assert //Assert.IsNotNull(test); }
public MySQLAdapterProperty() { pms["DbAdapter"] = new MySQLAdapter(); }
public IResponse <NoValue> SendToRelationalDb <T>(long jobId, List <T> blocks) { var response = new Response <NoValue>(); try { if (blocks.Count == 0) { response.Status = StatusEnum.Success; return(response); } var enterpriseAdapter = _entity.JobTimeline.Find(jobId).Schedule.JobDefinition.Adapter1.EnterpriseAdapter.FirstOrDefault(); var query = new QueryWrite { TableNamePrefix = enterpriseAdapter.EnterpriseAdapterProperty.FirstOrDefault(eap => eap.PropertyId == (int)PropertyEnum.TableNamePrefix).Value }; if (typeof(T) == typeof(EthereumBlockModel)) { var model = (List <EthereumBlockModel>)Convert.ChangeType(blocks, typeof(List <EthereumBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.Ethereum; for (var i = 0; i < model.Count; i++) { model[i].BlockIdSQL = Guid.NewGuid(); for (var j = 0; j < model[i].BlockTransactions.Count; j++) { model[i].BlockTransactions[j].ParentBlockId = model[i].BlockIdSQL; model[i].BlockTransactions[j].TransactionIdSQL = Guid.NewGuid(); } } query.EthereumBlockModel = model; } else { foreach (T block in blocks) { var blockIdSQL = typeof(T).GetProperty("BlockIdSQL"); blockIdSQL.SetValue(block, Guid.NewGuid()); var transactionList = (IEnumerable)typeof(T).GetProperty("TransactionList").GetValue(block); foreach (var transaction in transactionList) { var transactionType = transaction.GetType(); var transactionIdSQL = transactionType.GetProperty("TransactionIdSQL"); transactionIdSQL.SetValue(transaction, Guid.NewGuid()); var parentBlockIdSQL = transactionType.GetProperty("ParentBlockIdSQL"); parentBlockIdSQL.SetValue(transaction, blockIdSQL.GetValue(block)); var transactionInputList = (IEnumerable)transactionType.GetProperty("TransactionInputs").GetValue(transaction); foreach (var input in transactionInputList) { var transactionInIdSQL = input.GetType().GetProperty("TransactionInIdSQL"); transactionInIdSQL.SetValue(input, Guid.NewGuid()); var parentTransactionIdSQL = input.GetType().GetProperty("ParentTransactionIdSQL"); parentTransactionIdSQL.SetValue(input, transactionIdSQL.GetValue(transaction)); } var transactionOutputList = (IEnumerable)transactionType.GetProperty("TransactionOutputs").GetValue(transaction); foreach (var output in transactionOutputList) { var transactionOutIdSQL = output.GetType().GetProperty("TransactionOutIdSQL"); transactionOutIdSQL.SetValue(output, Guid.NewGuid()); var parentTransactionIdSQL = output.GetType().GetProperty("ParentTransactionIdSQL"); parentTransactionIdSQL.SetValue(output, transactionIdSQL.GetValue(transaction)); } } } if (typeof(T) == typeof(BitcoinBlockModel)) { var model = (List <BitcoinBlockModel>)Convert.ChangeType(blocks, typeof(List <BitcoinBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.Bitcoin; query.BitcoinBlockModel = model; } else if (typeof(T) == typeof(NeoBlockModel)) { var model = (List <NeoBlockModel>)Convert.ChangeType(blocks, typeof(List <NeoBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.NEO; query.NEOBlockModel = model; } else if (typeof(T) == typeof(LitecoinBlockModel)) { var model = (List <LitecoinBlockModel>)Convert.ChangeType(blocks, typeof(List <LitecoinBlockModel>)); query.CryptoAdapterType = CryptoAdapterType.Litecoin; query.LitecoinBlockModel = model; } } var config = new Config { ConnString = new DbAdapter.ConnStringCreator { Server = enterpriseAdapter.ServerIP, Port = enterpriseAdapter.Port.ToString(), Uid = enterpriseAdapter.Username, Pwd = enterpriseAdapter.Password, Database = enterpriseAdapter.DatabaseName }, Adapter = (AdapterTypeItemEnum)enterpriseAdapter.Adapter.AdapterTypeItemId, QueryWrite = query }; IAdapter adapter; switch (config.Adapter) { case AdapterTypeItemEnum.MSSQL: adapter = new MSSQLAdapter(_logger); response = adapter.ConnectAndWrite(config.QueryWrite, config.ConnString.MSSQLConnString); break; case AdapterTypeItemEnum.MySQL: adapter = new MySQLAdapter(_logger); response = adapter.ConnectAndWrite(config.QueryWrite, config.ConnString.MySQLConnString); break; case AdapterTypeItemEnum.Oracle: adapter = new OracleAdapter(_logger); response = adapter.ConnectAndWrite(config.QueryWrite, config.ConnString.OracleConnString); break; } } catch (Exception ex) { response.Status = StatusEnum.Error; response.Message = ex.Message; _logger.Information($"DbAdapterService.SendToRelationalDb(jobid: {jobId}, block:{blocks})"); _logger.Error(ex.Message); } return(response); }
private IResponse <NoValue> TestConnection(EnterpriseAdapterModel enterpriseAdapter) { var connectionResponse = new Response <NoValue>(); var config = new Config { ConnString = new ConnStringCreator { Server = enterpriseAdapter.ServerIP, Port = enterpriseAdapter.Port.ToString(), Database = enterpriseAdapter.DatabaseName, Pwd = enterpriseAdapter.Password, Uid = enterpriseAdapter.Username } }; IAdapter adapter; IResponse <NoValue> connectionStatus = null; switch (enterpriseAdapter.EnterpriseAdapter) { case AdapterTypeItemEnum.MSSQL: adapter = new MSSQLAdapter(_logger); if (enterpriseAdapter.Direction == DirectionEnum.Source) { connectionStatus = adapter.TestConnectivity(config.ConnString.MSSQLConnString, enterpriseAdapter.ParentTable); } else { connectionStatus = adapter.TestConnectivity(config.ConnString.MSSQLConnString); } break; case AdapterTypeItemEnum.MySQL: adapter = new MySQLAdapter(_logger); if (enterpriseAdapter.Direction == DirectionEnum.Source) { connectionStatus = adapter.TestConnectivity(config.ConnString.MySQLConnString, enterpriseAdapter.ParentTable); } else { connectionStatus = adapter.TestConnectivity(config.ConnString.MySQLConnString); } break; case AdapterTypeItemEnum.Oracle: adapter = new OracleAdapter(_logger); if (enterpriseAdapter.Direction == DirectionEnum.Source) { connectionStatus = adapter.TestConnectivity(config.ConnString.OracleConnString, enterpriseAdapter.ParentTable); } else { connectionStatus = adapter.TestConnectivity(config.ConnString.OracleConnString); } break; case AdapterTypeItemEnum.MongoDB: var mongoAdapter = new MongoDbAdapter(_logger); connectionStatus = mongoAdapter.TestConnection(config.ConnString.MongoDbConnString, enterpriseAdapter.DatabaseName); break; } if (connectionStatus.Status != StatusEnum.Success) { connectionResponse.Status = StatusEnum.Error; connectionResponse.Message = connectionStatus.Message; } else { connectionResponse.Status = StatusEnum.Success; } return(connectionResponse); }
/// <summary> /// Daten werden in die Datenbank geschrieben. /// </summary> /// <param name="Nachname"></param> /// <param name="Vorname"></param> /// <param name="Geburtsdatum"></param> /// <param name="Username"></param> /// <param name="Password"></param> /// <param name="Email"></param> public static void writeToDB(String Nachname, String Vorname, String Geburtsdatum, String Username, String Password, String Email) { MySQLAdapter db = new MySQLAdapter(); db.Query("INSERT INTO user(nachname, vorname, geburtsdatum, username, password, email) VALUES('" + Nachname + "', '" + Vorname + "', '" + Geburtsdatum + "', '" + Username + "', '" + Password + "', '" + Email + "')"); }