Ejemplo n.º 1
0
        public void LoginAnalyzeS2U(string claveCliente)
        {
            ReqLoginAnalyzeS2U reqLAS2U = new ReqLoginAnalyzeS2U();
            reqLAS2U.claveCliente = claveCliente;
            reqLAS2U.collectData = new CollectData() { HardwareID = Global.GetDeviceUniqueId() };
            Services.LoginAnalyzeS2U(
                  base.ServiceRequest,
                  (_) =>
                  {
                      if (!_.ErrorInMakingRequest)
                      {
                          switch (_.Error.clave)
                          {
                              case PE.Generic.OK:
                                  (App.Current as App).CodigoCliente = claveCliente;
                                  this._dto = _.Dto;
                                  this._frase = this._dto.RespuestaAnalizeRSABean.frase;
                                  base.NotifyPropertyChanged("Dto");

                                  if (!string.IsNullOrEmpty(_.Dto.RespuestaAnalizeRSABean.data))
                                  {
                                      byte[] stream = Convert.FromBase64String(this._dto.RespuestaAnalizeRSABean.data);
                                      MemoryStream ms = new MemoryStream(stream.Length);
                                      ms.Write(stream, 0, stream.Length);
                                      if (ms.Length > 0)
                                      {
                                          BitmapImage bi = new BitmapImage();
                                          bi.SetSource(ms);
                                          this._source = bi;
                                          base.NotifyPropertyChanged("Source");
                                      }
                                  }

                                  if (
                                      // A
                                        this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_VERIFIED && (
                                        this._dto.RespuestaAnalizeRSABean.riesgoRSA == ClavesOtros.RSA_ALLOW ||
                                        this._dto.RespuestaAnalizeRSABean.riesgoRSA == ClavesOtros.RSA_NONE ||
                                        this._dto.RespuestaAnalizeRSABean.riesgoRSA == ClavesOtros.RSA_REVIEW))
                                  {
                                      this._flujo = LoginViewModel.FlujoAcceso.A;
                                      this._isEnrolled = true;
                                      this._recordarDisp = false;
                                      if (null != ProcessSuccess)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcessSuccess(PS.Service.LOGIN_ANALYZE_S2U);
                                          });
                                      }
                                  }
                                  else if (
                                      // B
                                      this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_VERIFIED &&
                                      this._dto.RespuestaAnalizeRSABean.riesgoRSA == ClavesOtros.RSA_CHALLENGE)
                                  {
                                      this._flujo = LoginViewModel.FlujoAcceso.B;
                                      this._isEnrolled = true;
                                      this._recordarDisp = true;
                                      if (null != ProcessSuccess)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcessSuccess(PS.Service.LOGIN_ANALYZE_S2U);
                                          });
                                      }
                                  }
                                  else if (
                                      // C
                                      this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_NOTENROLLED ||
                                      this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_UNVERIFIED)
                                  {
                                      this._flujo = LoginViewModel.FlujoAcceso.C;
                                      this._isEnrolled = false;
                                      if (null != ProcessSuccess)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcessSuccess(PS.Service.LOGIN_ANALYZE_S2U);
                                          });
                                      }
                                  }
                                  else if (
                                      // D
                                      this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_UNLOCKED)
                                  {
                                      this._flujo = LoginViewModel.FlujoAcceso.D;
                                      this._isEnrolled = false;
                                      this._recordarDisp = false;
                                      if (null != ProcessSuccess)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcessSuccess(PS.Service.LOGIN_ANALYZE_S2U);
                                          });
                                      }
                                  }
                                  else if (
                                      // E
                                      this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_VERIFIED &&
                                      this._dto.RespuestaAnalizeRSABean.riesgoRSA == ClavesOtros.RSA_DENY)
                                  {
                                      this._flujo = LoginViewModel.FlujoAcceso.E;
                                      if (null != ProcesoError)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { message = TextosFront.frontMensajeDeletedLogin } });
                                          });
                                      }
                                  }
                                  else if (
                                      // F
                                        this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_LOCKOUT &&
                                        this._dto.RespuestaAnalizeRSABean.riesgoRSA == ClavesOtros.RSA_CHALLENGE)
                                  {
                                      if (null != ProcesoError)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { message = TextosFront.frontMensajeLockoutLogin } });
                                          });
                                      }
                                  }
                                  else if (
                                      // G
                                        this._dto.RespuestaAnalizeRSABean.estatusRSA == ClavesOtros.RSA_DELETED)
                                  {
                                      if (null != ProcesoError)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { message = TextosFront.frontMensajeDeletedLogin } });
                                          });
                                      }
                                  }
                                  else
                                  {
                                      if (null != ProcesoError)
                                      {
                                          base._dispatcher.BeginInvoke(() =>
                                          {
                                              ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = _.Error });
                                          });
                                      }
                                  }
                                  break;
                              case Errors.Service.RSA_OFF:
                                  this._rsaOff = true;
                                  if (null != ProcesoError)
                                  {
                                      base._dispatcher.BeginInvoke(() =>
                                      {
                                          //FIXME Le meto aqui porque es en la parte de la imagen cuando guardan en sesion el codigo de cliente
                                          (Application.Current as App).CodigoCliente = claveCliente;
                                          ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { clave = Errors.Service.RSA_OFF } });
                                      });
                                  }
                                  break;
                              default:
                                  if (null != ProcesoError)
                                  {
                                      base._dispatcher.BeginInvoke(() =>
                                      {
                                          ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = _.Error });
                                      });
                                  }
                                  break;
                          }
                      }
                      else
                      {
                          if (null != ProcesoError)
                          {
                              base._dispatcher.BeginInvoke(() =>
                              {
                                  ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = _.ErrorInMakingRequest });
                              });
                          }
                      }
                  },
                  reqLAS2U);
        }
Ejemplo n.º 2
0
        public static void LoginAnalyzeS2U(ServiceRequest2 serviceRequest, ServiceRequestEventHandler<DtoLoginAnalyzeS2U> asyncCallback, ReqLoginAnalyzeS2U requestData)
        {
#if OFFLINE
            serviceRequest.BeginWebRequestOffline<ResLoginAnalyzeS2U, DtoLoginAnalyzeS2U>(Services._serviceLoginAnalyzeS2U, asyncCallback, json._jsonLoginAnalyzeS2U);
#else
            new Thread(() => { serviceRequest.BeginWebRequest<ResLoginAnalyzeS2U, DtoLoginAnalyzeS2U, ReqLoginAnalyzeS2U>(service._serviceLoginAnalyzeS2U, asyncCallback, requestData); }).Start();
#endif
        }