Beispiel #1
0
        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));
        }