using MTWorkHR.Core.Entities;
using MTWorkHR.Core.Entities.User;
using MTWorkHR.Core.IRepositories.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MTWorkHR.Core.IRepositories
{
    public interface IOrderRequestRepository : IRepository<OrderRequest>
    {
       Task<OrderRequest> GetByIdWithAllChildren(long id);
        Task<OrderRequest> GetByIdWithTypes(long id);
        Task<Tuple<IQueryable<OrderRequest>, int>> GetAllWithChildrenAsync();
        Task<Tuple<IQueryable<OrderRequest>, int>> GetAllUserOrdersAsync(string userId, long contractId);

    }
}
