using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using WcfServices.Dto;

namespace WcfServices.Contract
{
    [ServiceContract]
    public interface IEmployeeService
    {

        [OperationContract]
        Task<IEnumerable<EmployeeDto>> GetEmployeesAsync(FilterDto filterDto);
        [OperationContract]
        Task<EmployeeDto> GetEmployeeByIdAsync(int id);
        [OperationContract]
        Task CreateEmployeeAsync(EmployeeDto employeeDto);
        [OperationContract]
        Task UpdateEmployeeAsync(EmployeeDto employeeDto);
        [OperationContract]
        Task DeleteEmployeeAsync(int id);
        [OperationContract]
        void CheckAccessViewEmployees();
        [OperationContract]
        void CheckAccessEditEmployees();
    }

}
