Exemple #1
0
        public static void ValidaNip(ServiceRequest2 serviceRequest, ServiceRequestEventHandler<DtoValidarNip> asyncCallback, ReqValidarNip requestData, TipoNip tipoNip)
        {
            switch (tipoNip)
            {
                case TipoNip.BancaTelefonica:
#if OFFLINE
                    serviceRequest.BeginWebRequestOffline<ResValidarNip, DtoValidarNip>(service._serviceValidaNipBancaTelefonica, asyncCallback, json._jsonValidaNip);
#else
                    new Thread(() => { serviceRequest.BeginWebRequest<ResValidarNip, DtoValidarNip, ReqValidarNip>(service._serviceValidaNipBancaTelefonica, asyncCallback, requestData); }).Start();
#endif
                    break;
                case TipoNip.Supernet:
#if OFFLINE
                    serviceRequest.BeginWebRequestOffline<ResValidarNip, DtoValidarNip>(service._serviceValidaNipSupernet, asyncCallback, json._jsonValidaNip);
#else
                    new Thread(() => { serviceRequest.BeginWebRequest<ResValidarNip, DtoValidarNip, ReqValidarNip>(service._serviceValidaNipSupernet, asyncCallback, requestData); }).Start();
#endif
                    break;
            }
        }
        private void responseValidaNipAsyncComplete(ServiceEventArgs<DtoValidarNip> e)
        {
            bool error = false;
            if (!e.ErrorInMakingRequest)
            {
                if (e.Error.clave.Is(Errors.Generic.OK))
                {
                    ReqValidarNip req = new ReqValidarNip()
                    {
                        claveCliente = e.Dto.codCliente,
                        nip = this._nip,
                        tipoOperacion = ClavesOperacion.CodigoCliente
                    };

                    Services.ValidaNip(base.ServiceRequest, responseValidaNipAsyncComplete2, req, this._tipoNip);
                }
                else
                {
                    error = true;
                }
            }
            else
            {
                error = true;
            }

            if (error)
            {
                if (validaAccesoBancaSuperTError != null)
                    validaAccesoBancaSuperTError(e.ErrorInMakingRequest, e.Error);
            }
        }
 private void validaAccesoBancaTelefonicaSuperNet(ReqValidarNip source, TipoNip tipoNip)
 {
     if (tipoNip == TipoNip.Supernet)
     {
         if (source.tipoOperacion == ClavesOperacion.TarjetaDebito || source.tipoOperacion == ClavesOperacion.NumeroCuenta)
             Services.ValidaNip(base.ServiceRequest, responseValidaNipAsyncComplete, source, tipoNip);
         else
             Services.ValidaNip(base.ServiceRequest, responseValidaNipAsyncComplete2, source, tipoNip);
     }
     else if (tipoNip == TipoNip.BancaTelefonica)
         Services.ValidaNip(base.ServiceRequest, responseValidaNipAsyncComplete2, source, tipoNip);
 }
 private void ResponseLogin(ServiceEventArgs<DtoLogin> e)
 {
     if (!e.ErrorInMakingRequest)
     {
         switch (e.Error.clave)
         {
             case Errors.Login.CLIENTE_BLOQUEADO_POR_INACTIVIDAD:
             case Errors.Login.CLIENTE_BLOQUEADO_POR_REINTENTOS:
             case Errors.Login.BLOQUEADO_POR_NO_REALIZAR_CAMBIO_NIP:
             case Errors.Login.BLOQUEADO_USUARIO_SUPERNET:
             case Errors.Login.BW01_68:
                 ReqValidarNip req = new ReqValidarNip()
                 {
                     claveCliente = this._claveCliente,
                     nip = this._nip
                 };
                 switch (this.codigoDesbloqueo)
                 {
                     case 0: req.tipoOperacion = ClavesOperacion.CodigoClienteDesbloqueo; break;
                     case 1: req.tipoOperacion = ClavesOperacion.TarjetaCredito; break;
                     case 2: req.tipoOperacion = ClavesOperacion.TarjetaDebito; break;
                     case 3: req.tipoOperacion = ClavesOperacion.NumeroCuenta; break;
                 }
                 validaAccesoBancaTelefonicaSuperNet(req, this._tipoNip);
                 break;
             default:
                 e.Error.message = TextosFront.frontMensajeActualmenteDesbloqueado;
                 if (validaAccesoBancaSuperTError != null)
                     validaAccesoBancaSuperTError(e.ErrorInMakingRequest, e.Error);
                 break;
         }
     }
     else
     {
         if (e.Error == null)
         {
             e.Error = new Error();
         }
         e.Error.message = TextosFront.frontMensajeErrorConexion;
         if (validaAccesoBancaSuperTError != null)
             validaAccesoBancaSuperTError(e.ErrorInMakingRequest, e.Error);
     }
 }
        public void ValidaNip(string claveCliente, string nip, string tipoOperacion)
        {
            ReqValidarNip req = new ReqValidarNip();
            req.nip = nip;
            req.tipoOperacion = tipoOperacion;

            Santander.TipoClaveUsuario tipoClaveUsuario = TipoClaveUsuario.NoValido;
            Santander.TipoNip tipoNip = TipoNip.NoValido;

            bool error = true;
            string message = string.Empty;
            if (Validaciones.ValidaClaveUsuario(ref claveCliente, ref tipoClaveUsuario))
            {
                if (Validaciones.ValidaNip(req.nip, ref tipoNip))
                {
                    error = false;
                    req.claveCliente = claveCliente;
#if OFFLINE
                              (Application.Current as App).SessionId = 1.ToString();
#endif
                    ReqLogin reqLogin = new ReqLogin();
                    reqLogin.claveCliente = claveCliente;
                    reqLogin.nip = nip;

                    Services.Login(base.ServiceRequest, (_) =>
                    {
                        error = true;
                        if (!_.ErrorInMakingRequest)
                        {
                            switch (_.Error.clave)
                            {
                                case Errors.Login.CLIENTE_INEXISTENTE:
                                case Errors.Login.USUARIO_INEXISTENTE:
                                case Errors.Login.CLIENTE_NIP_PROVISIONAL:
                                    error = false;
                                    Services.ValidaNip(base.ServiceRequest, ResponseValidaNip, req, tipoNip);
                                    break;
                                case Errors.Login.ERROR_LOGIN_CHQ:
                                case Errors.Login.ERROR_LOGIN_TDC:
                                case Errors.Login.BW01_07:
                                    error = false;
                                    this._dispatcher.BeginInvoke(() =>
                                    {
                                        ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = _.Error });
                                    });
                                    break;
                                case Errors.Generic.OK:
                                    error = false;
                                    this._dispatcher.BeginInvoke(() =>
                                    {
                                        ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { clave = Errors.Afiliacion.USUARIO_AFILIADO } });
                                    });
                                    base.CerrarSesion();
                                    break;
                                case Errors.Login.CLAVE_INCORRECTA:
                                case Errors.Login.SESION_INCIADA:
                                case Errors.Login.BW01_67:
                                case Errors.Login.BW01_68:
                                case Errors.Login.CLIENTE_BLOQUEADO_INCIDENCIAS_OPERATIVAS:
                                case Errors.Login.CLIENTE_RENOVAR_NIP:
                                case Errors.Login.CLIENTE_BLOQUEADO_POR_INACTIVIDAD:
                                case Errors.Login.CLIENTE_BLOQUEADO_POR_REINTENTOS:
                                case Errors.Login.BLOQUEADO_POR_NO_REALIZAR_CAMBIO_NIP:
                                case Errors.Login.BLOQUEADO_USUARIO_SUPERNET:
                                case Errors.Login.CLIENTE_NIP_DE_PASO:
                                default:
                                    error = false;
                                    this._dispatcher.BeginInvoke(() =>
                                    {
                                        ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { clave = Errors.Afiliacion.AFIL_16 } });
                                    });
                                    break;
                            }
                        }

                        if (error)
                        {
                            if (ProcesoError != null)
                            {
                                this._dispatcher.BeginInvoke(() =>
                                {
                                    ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = _.ErrorInMakingRequest, Error = _.Error });
                                });
                            }
                        }

                        return;
                    }, reqLogin, tipoClaveUsuario);
                }
                else
                {
                    message = TextosPantallas.tNIPNoValido;
                }
            }
            else
            {
                switch (tipoClaveUsuario)
                {
                    case TipoClaveUsuario.NoValido:
                    case TipoClaveUsuario.CodigoCliente:
                    case TipoClaveUsuario.CuentaCheques:
                    case TipoClaveUsuario.Tarjeta:
                        message = TextosPantallas.tIdentificacionNoValida;
                        break;
                }
            }

            if (error)
            {
                if (ProcesoError != null)
                {
                    this._dispatcher.BeginInvoke(() =>
                    {
                        ProcesoError(new Global.ViewModelEventArgs() { ErrorInMakingRequest = false, Error = new Error() { message = message } });
                    });
                }
            }
        }