using Fuel.Core.Transactions.Dto;
using FuelServer.Core.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Fuel.Core.Models;

namespace Fuel.Application.Service
{
    public interface ITransactionsService
    {
         Task<ServiceResponse> CreateTransactions(UploadTransactions uploadTransactions);

        Task<ServiceResponse> GetTransactionsAsync(TransactionsInput input);
        Task<ServiceResponse> CommitPayment(int trxId, string AuthCode);
        Task<ServiceResponse> GetMiniProgramTransactionsUnpaidAsync(TransactionsInput input);
        Task<ServiceResponse> GetMiniProgramTransactionsUnpaidNozzleAsync(TransactionsInput input);
        Task<ServiceResponse> GetMiniProgramTransactionsPaidAsync(TransactionsInput input);
        Task<ServiceResponse> RefundTrx(int trxId,
            double longitude,
            double latitude);
        Task<ServiceResponse> Redeem(int trxId, decimal OriginalQty);
        Task<ServiceResponse> UnifiedOrder(int trxId);
    }
}
