Ejemplo n.º 1
0
        public async Task <IActionResult> SearchEmployeeWithSalaryByEmployeeId([FromRoute] SearchEmployeeWithSalaryByEmployeeIdQueryRequest queryRequest)
        {
            var queryResponse = await mediator.Send(queryRequest);

            switch (queryResponse.Status)
            {
            case true: return(Ok(queryResponse));

            case false: return(BadRequest(queryResponse));
            }
        }
Ejemplo n.º 2
0
        public async Task <HandlerResultEntity <SearchEmployeeWithSalaryByEmployeeIdQueryResponse> > Handle(SearchEmployeeWithSalaryByEmployeeIdQueryRequest queryRequest, CancellationToken cancellationToken)
        {
            var validationResult = await validator.ValidateAsync(queryRequest);

            if (validationResult.IsValid)
            {
                if (await employeeRepository.VerifyEmployeeExistsByIdAsync(queryRequest.EmployeeId))
                {
                    switch (await salaryRepository.VerifyHaveEmployeeWithSalary(queryRequest.EmployeeId))
                    {
                    case true:
                    {
                        var queryResponse = await employeeRepository.SearchEmployeeWithSalaryByEmployeeIdAsync(queryRequest);

                        return(new HandlerResultEntity <SearchEmployeeWithSalaryByEmployeeIdQueryResponse>(true, string.Empty, queryResponse));
                    }

                    case false: return(new HandlerResultEntity <SearchEmployeeWithSalaryByEmployeeIdQueryResponse>(false, "this employee doenst have a registered salary", null));
                    }
                }
                else
                {
                    return(new HandlerResultEntity <SearchEmployeeWithSalaryByEmployeeIdQueryResponse>(false, "this employee doenst exists", null));
                }
            }
            else
            {
                return(new HandlerResultEntity <SearchEmployeeWithSalaryByEmployeeIdQueryResponse>(false, ValidationResultErrorMessage.Format(validationResult), null));
            }
        }
Ejemplo n.º 3
0
 public async Task <SearchEmployeeWithSalaryByEmployeeIdQueryResponse> SearchEmployeeWithSalaryByEmployeeIdAsync(SearchEmployeeWithSalaryByEmployeeIdQueryRequest queryRequest)
 {
     return(await paymentsControlDataContext
            .connection
            .QueryFirstOrDefaultAsync <SearchEmployeeWithSalaryByEmployeeIdQueryResponse>("spSearchEmployeeWithSalaryByEmployeeId",
                                                                                          new
     {
         queryRequest.EmployeeId
     }, commandType : CommandType.StoredProcedure));
 }