using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using EQNetwork.Objects;
using EQNetwork.Interfaces;
using EQNetwork.Utility;

namespace EQNetwork.Services
{
    public partial class RequestService : IRequestService
    {
        public EQTask Accept(Guid requestGuid, Action<EQException> onComplete) { return _eq.EQApiService.Request_Accept(requestGuid, onComplete); }
        public EQTask Confirm(Guid requestGuid, Action<EQException> onComplete) { return _eq.EQApiService.Request_Confirm(requestGuid, onComplete); }
        public EQTask Create(RequestContext requestContext, Action<RequestMessage, EQException> onComplete) { return _eq.EQApiService.Request_Create(requestContext, onComplete); }
        public EQTask Decline(Guid requestGuid, Action<EQException> onComplete) { return _eq.EQApiService.Request_Decline(requestGuid, onComplete); }
        public EQTask Delete(Guid requestGuid, Action<EQException> onComplete) { return _eq.EQApiService.Request_Delete(requestGuid, onComplete); }
        public EQTask ListRequestsForCollection(int collectionId, Action<List<Request>, EQException> onComplete) { return _eq.EQApiService.Request_ListRequestsForCollection(collectionId, onComplete); }
        public EQTask ListRequestsForCollection(Guid collectionGuid, Action<List<Request>, EQException> onComplete) { return _eq.EQApiService.Request_ListRequestsForCollection(collectionGuid, onComplete); }
        public EQTask ListRequestsForUser(int userId, Action<List<Request>, EQException> onComplete) { return _eq.EQApiService.Request_ListRequestsForUser(userId, onComplete); }
        public EQTask ListRequestsToMe(List<Db.RequestType> requestTypes, bool? all, Action<List<Request>, EQException> onComplete) { return _eq.EQApiService.Request_ListRequestsToMe(requestTypes, all, onComplete); }
        public EQTask GetCollectionRequestGuid(int collectionId, Action<Guid, EQException> onComplete) { return _eq.EQApiService.Request_GetCollectionRequestGuid(collectionId, onComplete); }
        public EQTask Update(Guid requestGuid, Action<EQException> onComplete) { return _eq.EQApiService.Request_Update(requestGuid, onComplete); }
    }
}
