public async Task <List <EmployeeDTO> > GetEmployee(int id)
        {
            var query  = new GetEmployeeByIdQuery(id);
            var result = await _mediator.Send(query);

            return(result);
        }
        public IActionResult Index(Guid employeeId)
        {
            EnsureArg.IsNotEmpty(employeeId);
            var query       = new GetEmployeeByIdQuery(employeeId);
            var queryResult = QueryDispatcher.Execute <GetEmployeeByIdQuery, GetEmployeeByIdQueryResult>(query);

            return(Ok(queryResult.Employee));
        }
        public async Task <ActionResult <Employee> > Get(int empId)
        {
            var query  = new GetEmployeeByIdQuery(empId);
            var result = await mediator.Send(query);

            return(Ok(result));
            //// simple approch
            //return await _dBContext.Employee.ToListAsync();
        }
        public async Task <List <EmployeeDTO> > Handle(GetEmployeeByIdQuery request, CancellationToken cancellationToken)
        {
            var employees = await _employeesRepository.GetEmployees();

            Employee employee = employees.Where(x => x.Id == request.EmployeeId).FirstOrDefault();

            List <EmployeeDTO> employeeDTOList = new List <EmployeeDTO> {
            };

            if (employee != null)
            {
                employeeDTOList.Add(EmployeeDTOCreator.Create(employee));
            }

            return(employeeDTOList);
        }