using MarketData.Service;

namespace eNavigator.Interfaces
{
  public interface IMarketDataServiceClient
  {
    public Task<bool> Ping();
    public Task<ServiceResult> GetSystemInfo();
    public Task<ServiceResult> Login(String user, String password);
    public Task<bool> IsAuthorized();
    public Task<ServiceResult> GetDistinctConsumerPriceIndices();
    public Task<ServiceResult> GetGetConsumerPriceIndex(String indexCode);
    public Task<ServiceResult> GetLatestPremarketData(String market,DateTime marketDate);
    public Task<ServiceResult> GetAvailableMarkets();
    public Task<ServiceResult> GetAvailableMarketDates(String market);
    public Task<ServiceResult> GetStopLimit(String symbol);
    public Task<ServiceResult> GetPortfolioTradesWithParityPrice(String symbol);
    public Task<ServiceResult> GetPositionsWithDescription();
    public Task<ServiceResult> GetWatchList(String watchList);
    public Task<ServiceResult> GetHeadlines(DateTime headlineDate);
    public Task<ServiceResult> GetHeadlineDates();
    public Task<ServiceResult> GetLatestHeadlines();
    public Task<ServiceResult> GetLatestPricingDate();
    public Task<ServiceResult> GetGainLossDetails(DateTime selectedDate,String account);
    public Task<ServiceResult> GetGainLossDetails(DateTime selectedDate);
    public Task<ServiceResult> GetCompoundGainLoss(int selectedDays);
    public Task<ServiceResult> GetAccountsWithOpenTrades();
    public Task<ServiceResult> GetPrices(String symbol, int days);
    public Task<ServiceResult> GetCompanyNameForSymbol(String symbol);
    public Task<ServiceResult> GetBollingerBands(String symbol,int dayCount);
  }
}
