public IActionResult CalculatePayslips([FromBody] List <PayslipRequest> payslipRequests) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } else { List <PayslipResponse> data = payslipRequests.Select(x => _payslipService.GeneratePayslip(x)).ToList(); return(Ok(data)); } }
public IActionResult Process([FromBody] PayslipInput input) { try { //failed model will auto-send 400 badrequest by api bool isValidInput = _payslipService.ValidateInputModel(input); if (!isValidInput) { ErrorResponse errorResponse = new ErrorResponse("model is invalid or violate business rules, please change the input and try again.", ErrorTypes.BusinessRuleViolation); return(BadRequest(errorResponse)); } PayslipOutput payslipOutput = _payslipService.GeneratePayslip(input); return(Ok(payslipOutput)); } catch (ArgumentNullException ex) { ErrorResponse errorResponse = new ErrorResponse(ex.Message, ErrorTypes.BusinessRuleViolation); return(BadRequest(errorResponse)); } }