/// <summary>
        /// Autenticar
        /// </summary>
        /// <param name="url">Url del servicio Pasamonte</param>
        /// <param name="apiKey">Clave de integracion</param>
        /// <param name="identificacionUsuario">Identificacion del usuario</param>
        /// <param name="identificacionTerminal">Identificacion del terminal</param>
        /// <param name="identificacionSistemaRemoto">Identificacion del sistema remoto (RCE)</param>
        /// <returns></returns>
        public async Task <RespuestaValidarIdentificacion> RceAutenticar
        (
            string url,
            string apiKey,
            IdentificacionUsuario identificacionUsuario,
            IdentificacionTerminal identificacionTerminal,
            IdentificacionSistemaRemoto identificacionSistemaRemoto
        )
        {
            if (!ValidarUrl(url))
            {
                return(RespuestaErrorUrl <RespuestaValidarIdentificacion>("RceAutenticar"));
            }
            if (!ValidarApiKey(apiKey))
            {
                return(RespuestaErrorApiKey <RespuestaValidarIdentificacion>("RceAutenticar"));
            }
            var respuesta = new RespuestaValidarIdentificacion()
            {
            };

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                // HTTP POST
                var requestData =
                    new
                {
                    identificacionUsuario       = identificacionUsuario,
                    identificacionTerminal      = identificacionTerminal,
                    identificacionSistemaRemoto = identificacionSistemaRemoto
                };
                var response =
                    await client.PostAsJsonAsync
                    (
                        RceAccionAutenticar,
                        requestData
                    );

                if (response.IsSuccessStatusCode)
                {
                    // Get the URI of the created resource.
                    respuesta = await response.Content.ReadAsAsync <RespuestaValidarIdentificacion>();

                    log.DebugFormat("-> RceAutenticar: ok. Terminal: {0}. Usuario: {1}", identificacionTerminal.CodigoEstablecimiento, identificacionUsuario.Identificador);
                }
                else
                {
                    respuesta.Status = StatusLlamada.ErrorDesconocido;
                    log.DebugFormat("-> RceAutenticar: ERROR. Terminal: {0}. Usuario: {1}", identificacionTerminal.CodigoEstablecimiento, identificacionUsuario.Identificador);
                }
            }
            return(respuesta);
        }
Beispiel #2
0
        /// <summary>
        /// RceCambiarClave
        /// </summary>
        /// <param name="url">Url del servicio Pasamonte</param>
        /// <param name="apiKey">Clave de integracion</param>
        /// <param name="identificacionUsuario"></param>
        /// <param name="identificacionTerminal"></param>
        /// <param name="identificacionSistemaRemoto"></param>
        /// <param name="nuevaClave"></param>
        /// <returns>Objeto con la respuesta</returns>
        public async Task <RespuestaCambiarClave> RceCambiarClave
        (
            string url,
            string apiKey,
            IdentificacionUsuario identificacionUsuario,
            IdentificacionTerminal identificacionTerminal,
            IdentificacionSistemaRemoto identificacionSistemaRemoto,
            string nuevaClave
        )
        {
            if (!ValidarUrl(url))
            {
                return(RespuestaErrorUrl <RespuestaCambiarClave>("RceCambiarClave"));
            }
            if (!ValidarApiKey(apiKey))
            {
                return(RespuestaErrorApiKey <RespuestaCambiarClave>("RceCambiarClave"));
            }
            var respuesta = new RespuestaCambiarClave()
            {
            };

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                // HTTP POST
                var requestData =
                    new
                {
                    identificacionUsuario       = identificacionUsuario,
                    identificacionTerminal      = identificacionTerminal,
                    identificacionSistemaRemoto = identificacionSistemaRemoto,
                    nuevaClave = nuevaClave
                };
                var response =
                    await client.PostAsJsonAsync
                    (
                        RceAccionCambiarClave,
                        requestData
                    );

                if (response.IsSuccessStatusCode)
                {
                    respuesta = await response.Content.ReadAsAsync <RespuestaCambiarClave>();
                }
                else
                {
                    respuesta.Status = StatusLlamada.ErrorDesconocido;
                }
            }
            return(respuesta);
        }
Beispiel #3
0
        private bool realizar_login()
        {
            string password_hash = Encryptation.get_hash(this.textBoxPassword.Text);

            IdentificacionUsuario resultadoLogin = this.ValidarLogin(this.textBoxUsername.Text, password_hash);

            if (loginSuccess(resultadoLogin))
            {
                return(true);
            }
            else
            {
                MessageDialog.MensajeError(this.getMensajeLogin(resultadoLogin));
                return(false);
            }
        }
Beispiel #4
0
        private string getMensajeLogin(IdentificacionUsuario resultadoIdentificacion)
        {
            switch (resultadoIdentificacion)
            {
            case IdentificacionUsuario.UsuarioIdentificado:
                return("Usuario identificado correctamente");

            case IdentificacionUsuario.UsuarioBloqueado:
                return("El usuario ha sido bloqueado por reiterados intentos erróneos de login");

            case IdentificacionUsuario.UsuarioInvalido:
                return("El usuario o la contraseña son inválidos");

            default:
                return("Error al querer identificar");
            }
        }
Beispiel #5
0
        private bool IdentificarUsuario()
        {
            IResultado <IdentificacionUsuario> resRealizarIdenticacion = _usuarioDomain.RealizarIdentificacion(tbUsuario.Text, tbPassword.Text);

            if (!resRealizarIdenticacion.Correcto)
            {
                throw new ResultadoIncorrectoException <IdentificacionUsuario>(resRealizarIdenticacion);
            }

            IdentificacionUsuario identificacion = resRealizarIdenticacion.Retorno;

            if (PasswordHelper.IdentificacionExitosa(identificacion))
            {
                return(true);
            }
            else
            {
                MensajePorPantalla.MensajeError(this, PasswordHelper.Mensaje(resRealizarIdenticacion.Retorno));
                return(false);
            }
        }
        /// <summary>
        /// NotificarEntrega
        /// </summary>
        /// <param name="url">Url del servicio Pasamonte</param>
        /// <param name="apiKey">Clave de integracion</param>
        /// <param name="identificacionUsuario"></param>
        /// <param name="identificacionTerminal"></param>
        /// <param name="identificacionSistemaRemoto"></param>
        /// <param name="entrega">Entrega a notificar</param>
        /// <returns>Objeto con la respuesta. <see cref="RespuestaNotificarEntrega"/></returns>
        public async Task <RespuestaNotificarEntrega> RceNotificarEntrega
        (
            string url,
            string apiKey,
            IdentificacionUsuario identificacionUsuario,
            IdentificacionTerminal identificacionTerminal,
            IdentificacionSistemaRemoto identificacionSistemaRemoto,
            Entrega entrega
        )
        {
            if (!ValidarUrl(url))
            {
                return(RespuestaErrorUrl <RespuestaNotificarEntrega>("RceNotificarEntrega"));
            }
            if (!ValidarApiKey(apiKey))
            {
                return(RespuestaErrorApiKey <RespuestaNotificarEntrega>("RceNotificarEntrega"));
            }
            if (entrega == null)
            {
                return new RespuestaNotificarEntrega()
                       {
                           Status      = StatusLlamada.ErrorDesconocido,
                           Descripcion = "RceNotificarEntrega - Error parametro entrega nulo"
                       }
            }
            ;
            var respuesta = new RespuestaNotificarEntrega()
            {
            };

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url);

                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                // HTTP POST
                var requestData =
                    new
                {
                    identificacionUsuario       = identificacionUsuario,
                    identificacionTerminal      = identificacionTerminal,
                    identificacionSistemaRemoto = identificacionSistemaRemoto,
                    entrega = entrega
                };
                var response =
                    await client.PostAsJsonAsync
                    (
                        RceAccionNotificarEntrega,
                        requestData
                    );

                if (response.IsSuccessStatusCode)
                {
                    respuesta = await response.Content.ReadAsAsync <RespuestaNotificarEntrega>();
                }
                else
                {
                    respuesta.Status = StatusLlamada.ErrorDesconocido;
                }
            }
            return(respuesta);
        }
    }
Beispiel #7
0
 protected bool loginSuccess(IdentificacionUsuario resultadoLogin)
 {
     return(resultadoLogin == 0);
 }
Beispiel #8
0
        /// <summary>
        /// ObtenerEntregas
        /// </summary>
        /// <param name="url">Url del servicio Pasamonte</param>
        /// <param name="apiKey">Clave de integracion</param>
        /// <param name="identificacionUsuario">Identificacion del paciente</param>
        /// <param name="identificacionTerminal">Identificacion del terminal que consulta</param>
        /// <param name="identificacionSistemaRemoto">Identificacion del sistema remoto (RCE)</param>
        /// <returns>Objeto con respuesta. <see cref="RespuestaObtenerEntregas"/></returns>
        public async Task <RespuestaObtenerEntregas> RceObtenerEntregas
        (
            string url,
            string apiKey,
            IdentificacionUsuario identificacionUsuario,
            IdentificacionTerminal identificacionTerminal,
            IdentificacionSistemaRemoto identificacionSistemaRemoto
        )
        {
            if (!ValidarUrl(url))
            {
                return(RespuestaErrorUrl <RespuestaObtenerEntregas>("RceObtenerEntregas"));
            }
            if (!ValidarApiKey(apiKey))
            {
                return(RespuestaErrorApiKey <RespuestaObtenerEntregas>("RceObtenerEntregas"));
            }
            var respuesta = new RespuestaObtenerEntregas()
            {
            };

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                // HTTP POST
                var requestData =
                    new
                {
                    identificacionUsuario       = identificacionUsuario,
                    identificacionTerminal      = identificacionTerminal,
                    identificacionSistemaRemoto = identificacionSistemaRemoto
                };
                var response =
                    await client.PostAsJsonAsync
                    (
                        RceAccionObtenerEntregas,
                        requestData
                    );

                if (response.IsSuccessStatusCode)
                {
                    // Get the URI of the created resource.
                    var r = await response.Content.ReadAsStringAsync();

                    respuesta =
                        await response.Content.ReadAsAsync <RespuestaObtenerEntregas>();

                    var b = new StringBuilder();
                    if (respuesta.Entregas != null)
                    {
                        foreach (var entrega in respuesta.Entregas)
                        {
                            b.AppendFormat("-- entrega id: {0} tipo: {1}\r\n", entrega.IdEnSistemaExterno, entrega.TipoEntrega);
                            if (entrega.ItemsEntrega != null)
                            {
                                foreach (var item in entrega.ItemsEntrega)
                                {
                                    b.AppendFormat("---- item id:\t{0}\tcantidad:\t{1}\tproducto:\t{2} desc:\t{3} stock rce:\t{4}\r\n", item.IdEnSistemaExterno, item.CantidadEntregar, item.IdentificadorProducto, item.DescripcionProducto, item.StockRCE);
                                }
                            }
                        }
                    }
                    log.DebugFormat("-> RceObtenerEntregas: ok. Terminal: {0}. Usuario: {1}\r\n{2}", identificacionTerminal.CodigoEstablecimiento, identificacionUsuario.Identificador, b.ToString());
                }
                else
                {
                    respuesta.Status = StatusLlamada.ErrorDesconocido;
                    log.DebugFormat("-> RceObtenerEntregas: ERROR. Terminal: {0}. Usuario: {1}", identificacionTerminal.CodigoEstablecimiento, identificacionUsuario.Identificador);
                }
            }
            return(respuesta);
        }
 public static bool IdentificacionExitosa(IdentificacionUsuario resultadoIdentificacion)
 {
     return(resultadoIdentificacion.CompareTo(IdentificacionUsuario.UsuarioIdentificado) == 0);
 }