예제 #1
0
        public async Task <IActionResult> RegisterSalary([FromBody] RegisterSalaryCommandRequest commandRequest)
        {
            var commandResponse = await mediator.Send(commandRequest);

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

            case false: return(BadRequest(commandResponse));
            }
        }
예제 #2
0
 public async Task RegisterSalaryAsync(RegisterSalaryCommandRequest commandRequest)
 {
     await paymentsControlDataContext
     .connection
     .ExecuteAsync("spRegisterSalary",
                   new
     {
         commandRequest.Id,
         commandRequest.EmployeeId,
         commandRequest.Value,
         commandRequest.RegisterDate
     }, commandType : CommandType.StoredProcedure);
 }
예제 #3
0
        public async Task <HandlerResultEntity <RegisterSalaryCommandResponse> > Handle(RegisterSalaryCommandRequest commandRequest, CancellationToken cancellationToken)
        {
            var validationResult = await validator.ValidateAsync(commandRequest, cancellationToken);

            if (validationResult.IsValid)
            {
                switch (await employeeRepository.VerifyEmployeeExistsByIdAsync(commandRequest.EmployeeId))
                {
                case true:
                {
                    await salaryRepository.RegisterSalaryAsync(commandRequest);

                    var commandResponse = new RegisterSalaryCommandResponse(commandRequest.Id);

                    return(new HandlerResultEntity <RegisterSalaryCommandResponse>(true, string.Empty, commandResponse));
                }

                case false: return(new HandlerResultEntity <RegisterSalaryCommandResponse>(false, "employee id doenst exists", null));
                }
            }
            else
            {
                return(new HandlerResultEntity <RegisterSalaryCommandResponse>(false, ValidationResultErrorMessage.Format(validationResult), null));
            }
        }