private static IntegrationTaskEndpoint GetEndpoint(IDbConnection connection, int endpointId) { var integrationConfiguration = new DynamicParameters(); integrationConfiguration.Add("@IntegrationTaskEndpointId", endpointId); var rows = connection.Query <ConfigurationRow>("sp_GetIntegrationTaskEndpoint", integrationConfiguration, commandType: CommandType.StoredProcedure).ToList(); var integrationTaskEndpoint = new IntegrationTaskEndpoint { EndpointType = (IntegrationTaskEndpointType)Enum.Parse(typeof(IntegrationTaskEndpointType), rows.First().IntegrationTaskEndpointTypeName), EndpointConfigurations = rows.Select(r => r.ToEndpointConfiguration()).ToList() }; return(integrationTaskEndpoint); }
public IXmlWriteRepository CreateWriter(IntegrationTaskEndpoint destination) { switch (destination.EndpointType) { case IntegrationTaskEndpointType.GreatPlains: return(new GreatPlainsCommand()); case IntegrationTaskEndpointType.File: var directory = destination.EndpointConfigurations.Single(f => f.ConfigurationType == IntegrationTaskEndpointConfigurationType.Directory).ConfigurationValue; var filename = destination.EndpointConfigurations.Single(f => f.ConfigurationType == IntegrationTaskEndpointConfigurationType.Filename).ConfigurationValue; return(new XmlFileCommand(directory, filename)); case IntegrationTaskEndpointType.Database: case IntegrationTaskEndpointType.WebService: default: throw new NotImplementedException(); } }
public IXmlReadRepository CreateReader(IntegrationTaskEndpoint source) { switch (source.EndpointType) { case IntegrationTaskEndpointType.Database: var connectionString = source.EndpointConfigurations.Single(f => f.ConfigurationType == IntegrationTaskEndpointConfigurationType.Connection).ConfigurationValue; var commandText = source.EndpointConfigurations.Single(f => f.ConfigurationType == IntegrationTaskEndpointConfigurationType.CommandText).ConfigurationValue; return(new XmlDatabaseCommand(connectionString, commandText)); case IntegrationTaskEndpointType.WebService: var url = source.EndpointConfigurations.Single(f => f.ConfigurationType == IntegrationTaskEndpointConfigurationType.Url).ConfigurationValue; return(new XmlWebCommand(url)); case IntegrationTaskEndpointType.File: case IntegrationTaskEndpointType.GreatPlains: default: throw new NotImplementedException(); } }