private void UsuarioMantenimientoPersonal_Click(object sender, RoutedEventArgs e) { Usuario c = new Usuario(); c = (Usuario)App.Current.Properties["usuarioSesion"]; PUsuario pusuario = new PUsuario(); pusuario.txtIndentificacion.Text = c.Id; pusuario.txtNombre.Text = c.Nombre; pusuario.txtContrasena.Password = c.Contrasena; pusuario.txtUsuarioGeneral.Text = c.UsuarioGeneral; pusuario.cboTipo.Text = c.Tipo; pusuario.txtIndentificacion.IsReadOnly = true; pusuario.btnVolver.Visibility = Visibility.Collapsed; pusuario.cboTipo.IsEnabled = false; pusuario.gridForm.Visibility = Visibility.Visible; pusuario.gridTabla.Visibility = Visibility.Collapsed; frame.Content = pusuario; }
public override void Ejecutar() { //Validar usuario PUsuario usuarioPer = new PUsuario(); Entidades.EUsuario usuario = null; bool permiteAcceso = true; // if (string.IsNullOrEmpty(solicitud.IdUsuario) || string.IsNullOrEmpty(solicitud.Clave)) { log.Warn("Credenciales de usuario incompletas."); Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("IniciasSesionInvalido")); iu.PanelOperador.MensajeOperador = "Campos faltantes."; iu.PanelLogin.Clave = string.Empty; } else { Respuesta respuesta = new Respuesta(); usuario = usuarioPer.Autenticar(solicitud.IdUsuario, solicitud.Clave, out respuesta); if (respuesta.Valida) { ////Solicitud de actualización //Task<MessageResult> r = iu.PanelDispositivo.VerificarActualizacion(); //r.Wait(); //if (r.Result == MessageResult.None) //{ //Cargue de parametros. PParametros parametrosPer = new PParametros(); PErrores erroresPer = new PErrores(); respuesta = new Respuesta(); Entidades.EParametros parametros = parametrosPer.ObetenerParametros(out respuesta); Entidades.EImpuestos impuestos = new Entidades.EImpuestos(); impuestos.Poblar(parametros); Dictionary <int, EError> errores = erroresPer.ObtenerListaErrores(); if (respuesta.Valida) { Entorno.Instancia.Parametros = parametros; Entorno.Instancia.Impuestos = impuestos; Entorno.Instancia.setMensajesError(errores); CargarParametros(); log.Info("[CmdIniciarSesion]: Parametros establecidos correctamente."); //Información del operador. Entorno.Instancia.Usuario = usuario; //Terminal respuesta = new Respuesta(false); ETerminal terminal = new PTerminal().BuscarTerminalPorCodigo("100003", out respuesta); if (respuesta.Valida) { try { bool defImpuestoCompuesto = Entorno.Instancia.Parametros.ObtenerValorParametro <bool>("pdv.definicion_impuesto_compuesta"); if (defImpuestoCompuesto) { if (!parametrosPer.VerificarExixteTablaImpuestos()) { permiteAcceso = false; } } } catch (Exception ex) { log.ErrorFormat("[CmdIniciarSesion] {0}", ex.Message); Telemetria.Instancia.AgregaMetrica(new Excepcion(ex)); } if (permiteAcceso) { //Version assemblyVersion = Assembly.GetEntryAssembly().GetName().Version; //string version = String.Format("{0}.{1}.{2}.{3}", assemblyVersion.Major, assemblyVersion.Minor, assemblyVersion.Build, assemblyVersion.Revision); //string logInicioApp = string.Format("--> INICIO DE SESION, VERSION, {0} <--", version); //log.Info(logInicioApp); Entorno.Instancia.Terminal = terminal; iu.PanelOperador.CodigoTerminal = terminal.Codigo; iu.PanelOperador.NombreUsuario = usuario.Nombre; // string msg = string.Format("[CmdIniciarSesion]: Sesión iniciada correctamente. {0}", usuario.ToString()); log.Info(msg); // se debe preguntar por la interfaz que se encuentra en las configuraciones de la aplicación. // modo caracter //Solicitudes.SolicitudPanelVenta solicitudPanelventa = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); //Reactor.Instancia.Procesar(solicitudPanelventa); // modo touch Solicitudes.SolicitudPanelVenta solicitudPanelventa = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); Reactor.Instancia.Procesar(solicitudPanelventa); //iu.PanelLogin.IdUsuario = ""; //iu.PanelLogin.Clave = ""; Entorno.Instancia.Vista.PanelOperador.MensajeOperador = ""; //Ids de mis tablas de acumulados //Entorno.Instancia.IdsAcumulados = new PVenta().IdsAcumulados(Entorno.Instancia.Usuario, Entorno.Instancia.Terminal); ////Clientes //Entorno.Instancia.Clientes = new PClientes().GetAllClientes(); ////Codigos de recogida //Entorno.Instancia.CodigosRecogida = new PRecogida().GetCodigosRecogida(out respuesta); ////Tipos de Venta Especial //Entorno.Instancia.TipoVentaEspecial = new PVentaEspecial().GetAllVentaEspecial(Entorno.Instancia.Clientes); //// Ajustes //Entorno.Instancia.TiposAjustes = new PTiposAjuste().GetAllTiposAjuste(); //Telemetria.Instancia.Id(Entorno.Instancia.Terminal.Codigo).Usuario(Entorno.Instancia.Usuario.Usuario).AgregaMetrica(new Evento("IniciarSesion")); if (iu.PanelVentas != null) { iu.PanelVentas.VisorEntrada = ""; iu.PanelVentas.VisorFechaActual = DateTime.Now.ToString("dd/MM/yyyy"); } } else { log.Warn("Informacion en base de Datos no Concuerda con Parametros."); Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("IniciasSesionInvalido")); iu.PanelOperador.MensajeOperador = respuesta.Mensaje; iu.PanelLogin.Clave = string.Empty; } } else { Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("TerminalInvalida")); log.ErrorFormat("[CmdIniciarSesion] No se puede iniciar la aplicación ya que no se encontró terminal asociada al código \"{0}\"", Common.Config.Terminal); Entorno.Vista.PanelOperador.MensajeOperador = respuesta.Mensaje; } } else { Entorno.Vista.PanelOperador.MensajeOperador = respuesta.Mensaje; } //} //else if (r.Result == MessageResult.Affirmative) //{ // log.Info("[CmdIniciarSesion] Proceso de actualización en proceso, se cancela el inicio de sesión."); //} //} //else //{ // log.Warn("Credenciales de usuario invalidas."); // Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("IniciasSesionInvalido")); // iu.PanelOperador.MensajeOperador = respuesta.Mensaje; // iu.PanelLogin.Clave = string.Empty; //} } } }
public override void Ejecutar() { try { Respuesta respuesta = new Respuesta(); // validar contraseña string password = Entorno.Instancia.Vista.PanelIntervencion.VisorEntrada; string tokenSupervisor = Entorno.Instancia.Usuario.ClaveSupervisor; PUsuario usuarioPer = new PUsuario(); if (!string.IsNullOrEmpty(password)) { Entidades.EUsuario supervisor = usuarioPer.ValidarClaveSupervisor(Entorno.Instancia.Usuario.Usuario, password, out respuesta); if (respuesta.Valida) { Entorno.Instancia.Usuario.UsuarioSupervisor = supervisor; if (Solicitud.TipoSolicitud == Enums.Solicitud.ValidarIntervencionPrestamo) { Telemetria.Instancia.AgregaMetrica(new Evento("PanelPrestamos")); log.Info("[CmdPanelPrestamo] Mostrando panel prestamos."); if (Config.ViewMode == InternalSettings.ModoConsola) { Solicitudes.SolicitudPanelPrestamos solPrestamos = new Solicitudes.SolicitudPanelPrestamos(Enums.Solicitud.Prestamos, codigoRecogida); Reactor.Instancia.Procesar(solPrestamos); } else { iu.MostrarModalRecogida(); iu.PanelOperador.MensajeOperador = Entorno.Instancia.Vista.PanelIntervencion.CodigoRecogida; } } else if (Solicitud.TipoSolicitud == Enums.Solicitud.ValidarIntervencionRecogida) { if (string.IsNullOrEmpty(codigoRecogida)) { return; } Telemetria.Instancia.AgregaMetrica(new Evento("PanelRecogidas")); log.Info("[CmdPanelRecogida] Mostrando panel recogidas."); if (Config.ViewMode == InternalSettings.ModoConsola) { Solicitudes.SolicitudPanelRecogidas solRecogida = new Solicitudes.SolicitudPanelRecogidas(Enums.Solicitud.Recogida, codigoRecogida); Reactor.Instancia.Procesar(solRecogida); } else { iu.MostrarModalRecogida(); iu.PanelOperador.MensajeOperador = Entorno.Instancia.Vista.PanelIntervencion.CodigoRecogida; } } try { //Entorno.Instancia.Impresora?.AbrirCajon(); } catch (Exception ex) { Entorno.Instancia.Vista.PanelOperador.MensajeOperador = "No se pudo abrir el cajón monedero."; log.Info("Error al abrir cajón monedero: " + ex.Message); Telemetria.Instancia.AgregaMetrica(new Excepcion(ex)); } } else { // MostrarPanelVenta(); iu.PanelVentas.VisorMensaje = "Contraseña incorrecta."; } } else { iu.PanelIntervencion.VisorMensaje = "Ingrese contraseña."; log.WarnFormat("Se debe ingresar contraseña de intervención"); if (Reactor.Instancia.EstadoFSMActual == EstadosFSM.ValidarIntervencionPrestamo) { var solicitudOperacion = new SolicitudValidarIntervencion(Enums.Solicitud.SolicitarIntervencionPrestamo, Entorno.Instancia.Vista.PanelIntervencion.VisorEntrada, Entorno.Instancia.Vista.PanelIntervencion.CodigoRecogida); Reactor.Instancia.Procesar(solicitudOperacion); } else if (Reactor.Instancia.EstadoFSMActual == EstadosFSM.ValidarIntervencionRecogida) { var solicitudOperacion = new SolicitudValidarIntervencion(Enums.Solicitud.SolicitarIntervencionRecogida, Entorno.Instancia.Vista.PanelIntervencion.VisorEntrada, Entorno.Instancia.Vista.PanelIntervencion.CodigoRecogida); Reactor.Instancia.Procesar(solicitudOperacion); } } } catch (Exception ex) { log.Error($"[Ejecutar] Error: {ex.Message}"); throw; } }