using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Entity.WorkFlow;
using GxPress.Request.App.Flow;
using Datory;
using GxPress.Entity.WorkCar;

namespace GxPress.Repository.Interface.WorkCar
{
    public interface ICarRepository : IRepository
    {
        Task<int> InsertAsync(Car item);

        Task UpdateAsync(Car item);

        Task<Car> GetAsync(int carId);

        Task<IEnumerable<Car>> GetListAsync(int typeId);

        Task<bool> DeleteAsync(int carId);

        Task<int> GetAvailableCarId(int typeId, IEnumerable<int> orderedCarIds);
    }
}