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
    {
        private EQProcess _eq;
        public RequestService(EQProcess eq)
        {
            _eq = eq;
        }

        public void Accept(Guid requestGuid) { _eq.EQApiService.Request_Accept(requestGuid); }
        public void Confirm(Guid requestGuid) { _eq.EQApiService.Request_Confirm(requestGuid); }
        public RequestMessage Create(RequestContext requestContext) { return _eq.EQApiService.Request_Create(requestContext); }
        public void Decline(Guid requestGuid) { _eq.EQApiService.Request_Decline(requestGuid); }
        public void Delete(Guid requestGuid) { _eq.EQApiService.Request_Delete(requestGuid); }
        public List<Request> ListRequestsForCollection(int collectionId) { return _eq.EQApiService.Request_ListRequestsForCollection(collectionId); }
        public List<Request> ListRequestsForCollection(Guid collectionGuid) { return _eq.EQApiService.Request_ListRequestsForCollection(collectionGuid); }
        public List<Request> ListRequestsForUser(int userId) { return _eq.EQApiService.Request_ListRequestsForUser(userId); }
        public List<Request> ListRequestsToMe(List<Db.RequestType> requestTypes, bool? all) { return _eq.EQApiService.Request_ListRequestsToMe(requestTypes, all); }
        public Guid GetCollectionRequestGuid(int collectionId) { return _eq.EQApiService.Request_GetCollectionRequestGuid(collectionId); }
        public void Update(Guid requestGuid) { _eq.EQApiService.Request_Update(requestGuid); }
    }
}
