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 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 GetDataSource() { try { var command = (CommandJson) new DataContractJsonSerializer(typeof(CommandJson)).ReadObject(HttpContext.Request.Body); Result result = new Result(); 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.Response.Body, result); HttpContext.Response.Body.Flush(); } catch { } }
public void GetDataSource() { try { var command = (CommandJson) new DataContractJsonSerializer(typeof(CommandJson)).ReadObject(HttpContext.Request.BodyReader.AsStream()); Result result = new Result(); 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.Response.BodyWriter.AsStream(), result); HttpContext.Response.Headers.Add("Access-Control-Allow-Origin", "*"); HttpContext.Response.Headers.Add("Cache-Control", "no-cache"); HttpContext.Response.Body.Flush(); HttpContext.Response.Clear(); } catch { } }
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); }
public MSSQLAdapterProperty() { pms["DbAdapter"] = new MSSQLAdapter(); }