public IActionResult UpdateSession(SNWLUpdateSessionRequest model) { SNWLUpdateSessionReplyXMLResponse responseModel; if (!ModelState.IsValid) { return(new ObjectResult(ResponseHelper.UpdateSession.InvalidOrMissingCGIParamResponse())); } switch (_stateProvider.UpdateSessionReplyCode) { case ResponseHelper.UpdateSession.SESSION_UPDATE_SUCCEEDED: responseModel = ResponseHelper.UpdateSession.UpdateSessionSucceededResponse(); break; case ResponseHelper.UpdateSession.SESSION_UPDATE_FAILED: responseModel = ResponseHelper.UpdateSession.UpdateSessionFailedResponse(); break; case ResponseHelper.UpdateSession.INVALID_OR_MISSING_PARAM: responseModel = ResponseHelper.UpdateSession.InvalidOrMissingCGIParamResponse(); break; case ResponseHelper.UpdateSession.INVALID_HMAC: responseModel = ResponseHelper.UpdateSession.InvalidHMACResponse(); break; default: case ResponseHelper.UpdateSession.INTERNAL_ERROR: responseModel = ResponseHelper.UpdateSession.InternalErrorResponse(); break; } // local bookkeeping _stateProvider.ProcessUpdateRequest(model); return(new ObjectResult(responseModel)); }