Example #1
0
        public async Task <IActionResult> Handle(HttpRequest request, ExitSsRequest data)
        {
            AuthByKeyPairResult authResult = this.GetAuthenticationKeyPair(request);

            if (!authResult.Result)
            {
                return(new JsonErrorResult(authResult.ErrorResponse));
            }

            try
            {
                using (SqlConnection conn = sqlServer.GetConnection())
                {
                    await conn.OpenAsync();

                    using (SqlCommand cmd = sqlServer.GetSpCommand("dbo.Employee_ExitSecuredSession", conn))
                    {
                        cmd.AddBinaryParam("@PermanentKey", 16, authResult.RegularKey.ToArray());
                        cmd.AddBinaryParam("@SecuredKey", 16, authResult.SecuredKey.ToArray());
                        SqlParameter retValParam = cmd.AddReturnValue();

                        await cmd.ExecuteNonQueryAsync();

                        int retVal = retValParam.GetInt32OrDefault();
                        if (retVal < 0)
                        {
                            ErrorResponse errorResponse = this.GetErrorResponse(retVal);
                            return(new JsonErrorResult(errorResponse));
                        }

                        return(new EmptyResult());
                    }
                }
            }
            catch (Exception ex)
            {
                return(new JsonErrorResult(this.GetExceptionResponse(ex)));
            }
        }
Example #2
0
 public async Task <ApiResponse> ExitSecuredSession(ExitSsRequest data)
 {
     data.ClientInfo = this._clientInfo;
     return(await new ApiMethod <ExitSsRequest, object>(
                this._httpClient, this._controllerUriPart, "ExitSs", AuthHeaderKind.Secured).Call(data));
 }
Example #3
0
 public async Task <IActionResult> ExitSecuredSession(ExitSsRequest data)
 {
     return(await GetHandler <ExitSecuredSession>().Handle(this.Request, data));
 }