public override async Task <CheckPinResponse> CheckPin(CheckPinRequest request, ServerCallContext context) { var result = new CheckPinResponse(); var session = _sessionService.GetSession(request.SessionId); if (session == null) { result.Error = new ErrorResponseBody { Code = ErrorCode.InvalidField, Message = ErrorMessages.InvalidFieldValue(nameof(request.SessionId)) }; result.Error.Fields.Add(nameof(request.SessionId), result.Error.Message); return(result); } var response = await _walletApiV1Client.PinSecurityCheckPinCodePostAsync(new PinSecurityCheckRequestModel { Pin = request.Pin }, $"Bearer {session.Token}"); if (response.Result != null) { result.Body = new CheckPinResponse.Types.Body { Passed = response.Result.Passed }; if (result.Body.Passed) { if (session.Verified) { await _sessionService.ProlongateSessionAsync(session); } else { session.Pin = true; if (session.Sms) { session.Verified = true; } await _sessionService.SaveSessionAsync(session); } } } if (response.Error != null) { result.Error = response.Error.ToApiError(); } return(result); }
public async Task <HttpResponseMessage> CheckPin(CheckPinRequest req) { this._client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Constants.Token); var jsonToSend = JsonConvert.SerializeObject(req); var content = new StringContent(jsonToSend, Encoding.UTF8, Constants.Headers.ContentType); var result = await this._api.CheckPin(Constants.Headers.ContentType, content); return(result); }
public async Task <ResponseData <Pin> > CheckPin(string pin) { var request = new CheckPinRequest(); request.PinCode = pin; var responseData = new ResponseData <Pin>() { HasBeenSuccessful = false }; var result = await this._apiWrapper.CheckPin(request); string content = await result.Content.ReadAsStringAsync(); if (result.StatusCode == HttpStatusCode.OK) { try { var deserializedContent = JsonConvert.DeserializeObject <ResponseData <Pin> >(content); if (!deserializedContent.HasBeenSuccessful) { responseData.HasBeenSuccessful = false; responseData.Content = null; responseData.Error = "Internal Server Error"; return(responseData); } responseData.HasBeenSuccessful = true; responseData.Content = deserializedContent.Content; responseData.Error = null; return(responseData); } catch (Exception e) { Console.WriteLine(e.StackTrace); responseData.HasBeenSuccessful = false; responseData.Content = null; responseData.Error = "Deserialization Error"; return(responseData); } } else { responseData.HasBeenSuccessful = false; responseData.Error = "Internal Error" + result.StatusCode.ToString();; return(responseData); } }