//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// .Net StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
//======================================================================================================
// An interface implemented by the DAL.
//======================================================================================================
using System;
using System.Collections;
using System.Data.SqlClient;
using Trade.ConfigServiceDataContract;
namespace Trade.IDAL
{
public interface IConfig
{
void BeginADOTransaction();
void RollBackTransaction();
void CommitADOTransaction();
void Open(string connString);
void Close();
/// The name of the client to get config informaiton for.
/// The client configuration for the supplied name
ClientConfigResponse GetClientConfig(string client);
/// the name of the BS to get the config for
/// the endpoint url of the business service that this client points to
BSConfigResponse GetBSConfig(string bs);
/// the name of the OPS to get the config for
/// the DB Configuration information for the Order Processing Service
OPSConfigResponse GetOPSConfig(string ops);
///
/// Sets a connection between the specified client and business service
/// If no ClientToBS configuration entry exists for this client, it is created
/// or else the existing configuration for the client is replaced by this one
///
void SetClientToBS(ClientToBS clientConfig);
///
/// Sets a connection between the specified business service and order processing service
/// If no BSToOPS configuration entry exists for this business service, it is created
/// or else the existing configuration for the business service is replaced by this one
///
void SetBSToOPS(BSToOPS bsConfig);
///
/// Gets all the business service locations
///
ServiceLocation[] GetBSLocations();
///
/// Gets all the order processing service locations
///
ServiceLocation[] GetOPSLocations();
///
/// Looks for a service location with the given ServiceName in the database. If found,
/// the URL and SEC values are updated. If not found, a new service location is inserted.
///
/// Service Location consisting on a Service Name, URL and SEC value
void SetServiceLocation(ServiceLocation location);
//ClientToBS[] getClientToBS();
//BSToOPS[] getBSToOPS();
}
}