public CmdPanelRecogida(ISolicitud solicitud) : base(solicitud) { this.Solicitud = solicitud as Solicitudes.SolicitudPanelRecogidas; codigoRecogida = Solicitud.CodigoRecogida; }
public override void Ejecutar() { try { Entorno.Instancia.Recogida = null; Entorno.Instancia.Prestamo = null; if (Solicitud.TipoSolicitud == Enums.Solicitud.SolicitarIntervencionRecogida) { int solicitaIntervencionRecogida = Entorno.Instancia.Parametros.ObtenerValorParametro <int>("pdv.intervencion.recogidas"); switch (solicitaIntervencionRecogida) { case 0: Entorno.Instancia.Recogida = null; Entorno.Instancia.Vista.PanelOperador.MensajeOperador = "No se pueden realizar recogidas."; Solicitudes.SolicitudVolver volver = new Solicitudes.SolicitudVolver(Enums.Solicitud.Volver); Reactor.Instancia.Procesar(volver); break; case 1: if (Config.ViewMode == InternalSettings.ModoConsola) { IniciarRecogida(); log.Info("[CmdPanelIntervencion] Mostrando panel intervención."); iu.MostrarPanelIntervencion(Solicitud.CodigoRecogida); iu.PanelIntervencion.VisorEntrada = string.Empty; iu.PanelIntervencion.VisorMensaje = string.Empty; } break; case 2: Solicitudes.SolicitudPanelRecogidas panelRecogida = new Solicitudes.SolicitudPanelRecogidas(Enums.Solicitud.Recogida, CodigoRecogida); Reactor.Instancia.Procesar(panelRecogida); break; default: log.Error("[CmdPanelIntervencion] Intervención Recogida: Opción inválida."); break; } } else if (Solicitud.TipoSolicitud == Enums.Solicitud.SolicitarIntervencionPrestamo) { int solicitaIntervencionPrestamos = Entorno.Instancia.Parametros.ObtenerValorParametro <int>("pdv.intervencion.prestamos"); switch (solicitaIntervencionPrestamos) { case 0: Entorno.Instancia.Prestamo = null; Entorno.Instancia.Vista.PanelOperador.MensajeOperador = "No se pueden realizar prestamos."; Solicitudes.SolicitudVolver volver = new Solicitudes.SolicitudVolver(Enums.Solicitud.Volver); Reactor.Instancia.Procesar(volver); break; case 1: if (Config.ViewMode == InternalSettings.ModoConsola) { log.Info("[CmdPanelIntervencion] Mostrando panel intervención."); iu.MostrarPanelIntervencion(Solicitud.CodigoRecogida); iu.PanelIntervencion.VisorEntrada = string.Empty; iu.PanelIntervencion.VisorMensaje = string.Empty; } break; case 2: Solicitudes.SolicitudPanelPrestamos panelRecogida = new Solicitudes.SolicitudPanelPrestamos(Enums.Solicitud.Prestamos, CodigoRecogida); Reactor.Instancia.Procesar(panelRecogida); break; default: log.Error("[CmdPanelIntervencion] Intervención Prestamo: Opción inválida."); break; } } } catch (Exception ex) { log.Error($"[CmdPanelIntervencion] Error { ex.Message }"); } }
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; } }