using skydiveLogs_api.Domain;
using System.Collections.Generic;

namespace skydiveLogs_api.DomainBusiness.Interfaces
{
    public interface ITunnelFlightService
    {
        #region Public Methods

        IEnumerable<TunnelFlight> GetAllTunnelFlights();

        TunnelFlight GetTunnelFlightById(int id);

        int GetTunnelFlightCount();

        IEnumerable<TunnelFlight> GetTunnelFlightsByIndexes(int beginIndex, int endIndex);

        IEnumerable<TunnelFlight> GetTunnelFlightByDates(string beginDate, string endDate);

        IEnumerable<Statistic> GetTunnelFlightGroupByMonth(string beginDate, string endDate);

        void AddNewFlight(int tunnelId, int jumpTypeId, TunnelFlight newFlight);

        void DeleteTunnelFlightById(int id);

        void UpdateTunnelFlight(int id, TunnelFlight updatedTunnelFlight);

        #endregion Public Methods
    }
}