// POST: Service/Services/Save public string Save(string args, Guid workspaceId, Guid dataListId) { try { var service = DeserializeService(args); var dbService = service as DbService; if (dbService != null) { var source = _resourceCatalog.GetResource <DbSource>(workspaceId, dbService.Source.ResourceID); if (source.ServerType == enSourceType.MySqlDatabase) { var broker = new MySqlDatabaseBroker(); broker.UpdateServiceOutParameters(dbService, source); } } _resourceCatalog.SaveResource(workspaceId, service); if (workspaceId != GlobalConstants.ServerWorkspaceID) { _resourceCatalog.SaveResource(GlobalConstants.ServerWorkspaceID, service); } return(service.ToString()); } catch (Exception ex) { RaiseError(ex); return(new ValidationResult { IsValid = false, ErrorMessage = ex.Message }.ToString()); } }
public virtual ServiceMethodList FetchMethods(DbSource dbSource) { switch (dbSource.ServerType) { case enSourceType.MySqlDatabase: { var broker = new MySqlDatabaseBroker(); return(broker.GetServiceMethods(dbSource)); } case enSourceType.PostgreSQL: { var broker = new PostgreSqlDataBaseBroker(); return(broker.GetServiceMethods(dbSource)); } case enSourceType.Oracle: { var broker = new OracleDatabaseBroker(); return(broker.GetServiceMethods(dbSource)); } case enSourceType.SQLiteDatabase: { var broker = new SqliteDatabaseBroker(); return(broker.GetServiceMethods(dbSource)); } default: { var broker = CreateDatabaseBroker(); return(broker.GetServiceMethods(dbSource)); } } }
public virtual ServiceMethodList FetchMethods(DbSource dbSource) { switch(dbSource.ServerType) { case enSourceType.MySqlDatabase: { var broker = new MySqlDatabaseBroker(); return broker.GetServiceMethods(dbSource); } default: { var broker = CreateDatabaseBroker(); return broker.GetServiceMethods(dbSource); } } }
private Recordset FetchDbSourceRecordset(ref DbService dbService, bool addFields, DbSource source) { switch (source.ServerType) { case enSourceType.SqlDatabase: { var broker = CreateDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription?.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception(ErrorResource.ErrorRetrievingShapeFromServiceOutput); } if (dbService.Recordset != null) { dbService.Recordset.Name = dbService.Method.ExecuteAction; if (dbService.Recordset.Name != null) { dbService.Recordset.Name = dbService.Recordset.Name.Replace(".", "_"); } dbService.Recordset.Fields.Clear(); var smh = new ServiceMappingHelper(); smh.MapDbOutputs(outputDescription, ref dbService, addFields); } return(dbService.Recordset); } case enSourceType.MySqlDatabase: { var broker = new MySqlDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription?.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception(ErrorResource.ErrorRetrievingShapeFromServiceOutput); } dbService.Recordset.Fields.Clear(); var smh = new ServiceMappingHelper(); smh.MySqlMapDbOutputs(outputDescription, ref dbService, addFields); return(dbService.Recordset); } case enSourceType.SQLiteDatabase: { var broker = new SqliteDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription?.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception(ErrorResource.ErrorRetrievingShapeFromServiceOutput); } dbService.Recordset.Fields.Clear(); var smh = new ServiceMappingHelper(); smh.MySqlMapDbOutputs(outputDescription, ref dbService, addFields); return(dbService.Recordset); } case enSourceType.PostgreSQL: { var broker = new PostgreSqlDataBaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription?.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception(ErrorResource.ErrorRetrievingShapeFromServiceOutput); } dbService.Recordset.Fields.Clear(); var smh = new ServiceMappingHelper(); smh.MySqlMapDbOutputs(outputDescription, ref dbService, addFields); return(dbService.Recordset); } case enSourceType.Oracle: { var broker = new OracleDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription?.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception(ErrorResource.ErrorRetrievingShapeFromServiceOutput); } dbService.Recordset.Fields.Clear(); var smh = new ServiceMappingHelper(); smh.MapDbOutputs(outputDescription, ref dbService, addFields); return(dbService.Recordset); } case enSourceType.ODBC: { var broker = new ODBCDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription?.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception(ErrorResource.ErrorRetrievingShapeFromServiceOutput); } dbService.Recordset.Fields.Clear(); var smh = new ServiceMappingHelper(); smh.MapDbOutputs(outputDescription, ref dbService, addFields); dbService.Recordset.Name = @"Unnamed"; return(dbService.Recordset); } default: return(null); } }
public virtual Recordset FetchRecordset(DbService dbService, bool addFields) { if (dbService == null) { throw new ArgumentNullException("dbService"); } var source = dbService.Source as DbSource; if (source != null) { switch (source.ServerType) { case enSourceType.SqlDatabase: { var broker = CreateDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription == null || outputDescription.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception("Error retrieving shape from service output."); } dbService.Recordset.Name = dbService.Recordset.Name.Replace(".", "_"); dbService.Recordset.Fields.Clear(); ServiceMappingHelper smh = new ServiceMappingHelper(); smh.MapDbOutputs(outputDescription, ref dbService, addFields); return(dbService.Recordset); } case enSourceType.MySqlDatabase: { var broker = new MySqlDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription == null || outputDescription.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception("Error retrieving shape from service output."); } dbService.Recordset.Name = dbService.Recordset.Name.Replace(".", "_"); dbService.Recordset.Fields.Clear(); ServiceMappingHelper smh = new ServiceMappingHelper(); smh.MySqlMapDbOutputs(outputDescription, ref dbService, addFields); return(dbService.Recordset); } default: return(null); } } return(null); // Clear out the Recordset.Fields list because the sequence and // number of fields may have changed since the last invocation. // // Create a copy of the Recordset.Fields list before clearing it // so that we don't lose the user-defined aliases. // }
public virtual Recordset FetchRecordset(DbService dbService, bool addFields) { if(dbService == null) { throw new ArgumentNullException("dbService"); } var source = dbService.Source as DbSource; if(source != null) { switch(source.ServerType) { case enSourceType.SqlDatabase: { var broker = CreateDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription == null || outputDescription.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception("Error retrieving shape from service output."); } dbService.Recordset.Name = dbService.Recordset.Name.Replace(".", "_"); dbService.Recordset.Fields.Clear(); ServiceMappingHelper smh = new ServiceMappingHelper(); smh.MapDbOutputs(outputDescription, ref dbService, addFields); return dbService.Recordset; } case enSourceType.MySqlDatabase: { var broker = new MySqlDatabaseBroker(); var outputDescription = broker.TestService(dbService); if (outputDescription == null || outputDescription.DataSourceShapes == null || outputDescription.DataSourceShapes.Count == 0) { throw new Exception("Error retrieving shape from service output."); } dbService.Recordset.Name = dbService.Recordset.Name.Replace(".", "_"); dbService.Recordset.Fields.Clear(); ServiceMappingHelper smh = new ServiceMappingHelper(); smh.MySqlMapDbOutputs(outputDescription, ref dbService, addFields); return dbService.Recordset; } default: return null; } } return null; // Clear out the Recordset.Fields list because the sequence and // number of fields may have changed since the last invocation. // // Create a copy of the Recordset.Fields list before clearing it // so that we don't lose the user-defined aliases. // }
// POST: Service/Services/Save public string Save(string args, Guid workspaceId, Guid dataListId) { try { var service = DeserializeService(args); var dbService = service as DbService; if (dbService != null) { var source = _resourceCatalog.GetResource<DbSource>(workspaceId, dbService.Source.ResourceID); if (source.ServerType == enSourceType.MySqlDatabase) { var broker = new MySqlDatabaseBroker(); broker.UpdateServiceOutParameters(dbService, source); } } _resourceCatalog.SaveResource(workspaceId, service); if(workspaceId != GlobalConstants.ServerWorkspaceID) { _resourceCatalog.SaveResource(GlobalConstants.ServerWorkspaceID, service); } return service.ToString(); } catch(Exception ex) { RaiseError(ex); return new ValidationResult { IsValid = false, ErrorMessage = ex.Message }.ToString(); } }