using System.Collections.Generic;
using System.Data;
using System.ServiceModel;

using BS.Shared;
using BS.Shared.DataContracts;

namespace BeWo.Service.ServiceContracts
{
    [ServiceContract]
    public interface IQueryService
    {
        [FaultContract(typeof(BeWoFault))]
        [OperationContract]
        DataTable ExecuteQuery(long pQueryOid, List<QueryParamDC> parameter);

        [FaultContract(typeof(BeWoFault))]
        [OperationContract]
        List<QueryDC> GetAllQueriesOfType(QueryType pType);

        [FaultContract(typeof(BeWoFault))]
        [OperationContract]
        string PrepareQueryReport(DataTable dataTable, string id);

        // To make the Client know the reporttypes so he can use it as paramter in report.aspx
        [OperationContract]
        void ReportTypes(ReportTypes pType);
    }
}