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)); } }
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)); } }
public async Task <SearchEmployeeWithSalaryByEmployeeIdQueryResponse> SearchEmployeeWithSalaryByEmployeeIdAsync(SearchEmployeeWithSalaryByEmployeeIdQueryRequest queryRequest) { return(await paymentsControlDataContext .connection .QueryFirstOrDefaultAsync <SearchEmployeeWithSalaryByEmployeeIdQueryResponse>("spSearchEmployeeWithSalaryByEmployeeId", new { queryRequest.EmployeeId }, commandType : CommandType.StoredProcedure)); }