/// <summary>
        /// Response of web service
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChangePinWebServiceCall_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
        {
            ChangePinResponse objChangePinResponse = new ChangePinResponse();

            try
            {
                if (e.Result != null)
                {
                    var response = e.Result.ToString();
                    objChangePinResponse = Utils.JsonHelper.Deserialize <ChangePinResponse>(response);
                    if (objChangePinResponse.status == 0)
                    {
                        App.PIN     = objSettingsConfirmChangePinVM.Pin;
                        App.HashPIN = newPinHashed;
                        objSettingsConfirmChangePinVM.IsSuccessPopupOpen = true;
                        objSettingsConfirmChangePinVM.HitVisibility      = false;
                        objSettingsConfirmChangePinVM.SuccessPopupText   = objChangePinResponse.message;
                    }
                    else
                    {
                        objSettingsConfirmChangePinVM.IsSuccessPopupOpen = true;
                        objSettingsConfirmChangePinVM.HitVisibility      = false;
                        objSettingsConfirmChangePinVM.SuccessPopupText   = objChangePinResponse.message;
                    }
                }
            }
            catch (Exception)
            {
                objSettingsConfirmChangePinVM.HitVisibility = true;

                MessageBox.Show("Sorry, Unable to process your request.");
            }
        }
        public async Task <ActionResult <ChangePinResponse> > ChangePin(Guid id, ChangePinParameter parameter)
        {
            var response = new ChangePinResponse()
            {
                Success = true
            };
            var encryptedPin = parameter.EncryptedPin;

            if (!IsValidSha256(encryptedPin))
            {
                response.Error   = "No valid hashed Pin found. Only hashed Pins are allowed";
                response.Success = false;
                return(BadRequest(response));
            }

            var safe = await _context.Safes.FindAsync(id);

            safe.EncryptedPin = encryptedPin;

            UpdatePinIfSpecified(safe);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception)
            {
                response.Success = false;
                return(StatusCode(500, response));
            }

            return(Ok(response));
        }
예제 #3
0
        public ChangePinResponse ChangePin(ChangePinRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Registration.ChangePin", Logger.LoggingLevelType.Medium);
            ChangePinResponse response = null;

            try
            {
                Log(Logger.LogMessageType.Info, String.Format("Llamando a AgentRegistration.ChangePin con los parametros: SessionID={0}, DeviceType={1}, Initiator={2}",
                                                              externalRequest.Request.SessionID, externalRequest.Request.DeviceType, externalRequest.Request.Initiator), Logger.LoggingLevelType.Low);
                response = AuthenticationProvider.ChangePin(externalRequest);
                Log(Logger.LogMessageType.Info, String.Format("Parametros de respuesta de AgentRegistration.ChangePin: ResponseCode={0}, ResponseMessage={1}, TransactionID={2}", response.Response.ResponseCode, response.Response.ResponseMessage, response.Response.TransactionID), Logger.LoggingLevelType.Low);
            }
            catch (Exception e)
            {
                Log(Logger.LogMessageType.Error, "Excepcion en el metodo AgentRegistration.ChangePin: " + e.ToString(), Logger.LoggingLevelType.Low);
            }
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Registration.ChangePin", Logger.LoggingLevelType.Medium);
            return(response);
        }
예제 #4
0
        internal static ChangePinResponse ChangePin(ChangePinRequest externalRequest)
        {
            ChangePinRequestInternal internalRequest = new ChangePinRequestInternal()
            {
                Initiator  = externalRequest.Request.Initiator,
                DeviceType = externalRequest.Request.DeviceType,
                NewPin     = externalRequest.Request.NewPin,
                SessionID  = externalRequest.Request.SessionID,
                CurrentPin = externalRequest.Request.CurrentPin
            };
            ChangePinResponseInternal internalResponse     = ChangePinInternal(internalRequest);
            ChangePinResponse         externalResponse     = new ChangePinResponse();
            ChangePinResponseBody     externalResponseBody = new ChangePinResponseBody()
            {
                ResponseCode    = internalResponse.ResponseCode,
                ResponseMessage = internalResponse.ResponseMessage,
                TransactionID   = internalResponse.TransactionID
            };

            externalResponse.Response = externalResponseBody;
            return(externalResponse);
        }