using Knoks.Core.Entities;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Knoks.Core.Data.Interfaces
{
    public interface IExchangeDao
    {
        Task<IEnumerable<Currency>> GetCurrencies(string currency);
        Task<IEnumerable<Currency>> GetFilterCurrencies(long? userId, bool? availableKnoks, bool? activeKnoks, bool? endedKnoks);
        Task<IEnumerable<Exchange>> GetExchanges(long? userId, bool? availableKnocks, bool? activeKnoks, bool? endedKnoks, int? exchangeId = null);
        Task SaveTickers(int exchangeId, IEnumerable<Ticker> data);
        Task<TickerInfo> GetTicker(int tickerId);
        Task<TickerInfo> GetTicker(int exchangeId, string currency1, string currency2);
        Task<IEnumerable<TickerInfo>> GetTickers();

        Task<TickerInfo> SaveExchanges(TickerData data);

    }
}