public override void Ejecutar() { PArqueo pArqueo = new PArqueo(); Dictionary <string, string> idsAcumulados = Entorno.Instancia.IdsAcumulados; Respuesta respuesta = new Respuesta(); // string arqueo = ProcesarPlantilla.Arqueo(Entorno.Instancia.Vista.PanelArqueo.Caja); string modeloImpresora = Entorno.Instancia.Impresora.Marca ?? "impresora"; var tiempoGuardarArqueo = new MetricaTemporizador("GuardarArqueo"); pArqueo.GuardarArqueo(Entorno.Instancia.Vista.PanelArqueo.Caja, ref idsAcumulados, Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, ((int)TipoTransaccion.Arqueo).ToString(), arqueo, modeloImpresora, out respuesta); if (!respuesta.Valida) { Telemetria.Instancia.AgregaMetrica(tiempoGuardarArqueo.Para().AgregarPropiedad("Exitoso", false).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Error", respuesta.Mensaje)); } else { Dictionary <EMedioPago, List <decimal> > arqueos = Entorno.Instancia.Vista.PanelArqueo.Caja.Arqueo; tiempoGuardarArqueo.Para(); foreach (var ar in arqueos) { Telemetria.Instancia.AgregaMetrica(tiempoGuardarArqueo.AgregarPropiedad("Exitoso", true).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Caja", ar.Value[0]).AgregarPropiedad("Conteo", ar.Value[1]).AgregarPropiedad("Diferencia", ar.Value[2])); tiempoGuardarArqueo.Props.Clear(); } //Telemetria.Instancia.AgregaMetrica(tiempoGuardarArqueo.Para().AgregarPropiedad("Exitoso", true).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Resultados",arqueos)); // string resultadosArqueo = ""; foreach (var item in Entorno.Instancia.Vista.PanelArqueo.Caja.Arqueo) { resultadosArqueo += Environment.NewLine; resultadosArqueo += String.Format("Medio Pago: {0}, Valor en Caja: {1}, Valor ingresado: {2}, Diferencia: {3} ", item.Key, item.Value[0], item.Value[1], item.Value[2]); } log.Info("[CmdGuardarArqueo] Arqueo registrado correctamente. Resultados:" + resultadosArqueo); // ETerminal terminal = new PTerminal().BuscarTerminalPorCodigo(Common.Config.Terminal, out respuesta); // Solicitudes.SolicitudPanelVenta volver = new Solicitudes.SolicitudPanelVenta(Solicitud.Vender); Reactor.Instancia.Procesar(volver); // Imprimir log.Info("[CmdGuardarArqueo] Copia Impresión: " + Environment.NewLine + arqueo); Entorno.Instancia.Impresora.Imprimir(arqueo, cortarPapel: true, abrirCajon: false); Entorno.Instancia.Terminal = terminal; Entorno.Instancia.Vista.PanelArqueo.Caja = null; } }
public override void Ejecutar() { // log.Info("[CmdCancelarTransaccionRecogida] Cancelando transacción ..."); // llamar a la persistencia de cancelar transacción Task <MessageResult> resul = null;; if (Config.ViewMode == InternalSettings.ModoConsola) { resul = Entorno.Instancia.Vista.PanelVentas.CancelarOperacion("¿Está seguro de cancelar la Recogida?, [Sí = 1, No = 2]"); } else if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.MensajeUsuario.TextCancelar = "No"; Entorno.Instancia.Vista.MensajeUsuario.TextConfirmar = "Sí"; resul = Entorno.Instancia.Vista.MensajeUsuario.MostrarMensajeAsync("Cancelar Recogida", "¿Está seguro de cancelar la Recogida?"); } // resul.Wait(); if (resul.Result == MessageResult.Affirmative) { if (Config.ViewMode == InternalSettings.ModoTouch) { iu.PanelVentas.LimpiarOperacion(); } LimpiarTransaccion(); if (Entorno.Instancia.Vista.PantallaCliente != null) { Entorno.Instancia.Vista.PantallaCliente.MostrarVista(DisplayCliente.DisplayMedia); } } else { // SolicitudPanelVenta solVolver = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Volver); Reactor.Instancia.Procesar(solVolver); // if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.MensajeUsuario.OcultarMensaje(); } } }
private void LimpiarTransaccion() { // iu.PanelVentas.LimpiarVentaFinalizada(); // iu.PanelVentas.VisorMensaje = "Transacción cancelada correctamente"; // Solicitudes.SolicitudPanelVenta solicitudPanelVenta = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); Reactor.Instancia.Procesar(solicitudPanelVenta); // if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.MensajeUsuario.OcultarMensaje(); } }
public override void Ejecutar() { EMedioPago medioPago = new PMediosPago().GetAllMediosPago().MedioPago("1"); Dictionary <string, string> idsAcumulados = Entorno.Instancia.IdsAcumulados; PPrestamo pPrestamo = new PPrestamo(); Respuesta respuesta = new Respuesta(); EPrestamo ePrestamo = Entorno.Instancia.Prestamo; string factura = ProcesarPlantilla.Prestamos(ePrestamo); string modeloImpresora = Entorno.Instancia.Impresora.Marca ?? "impresora"; var tiempoGuardarPrestamo = new MetricaTemporizador("PrestamoAgregado"); pPrestamo.GuardarPrestamo(Entorno.Instancia.Prestamo, ref idsAcumulados, ((int)TipoTransaccion.Prestamo).ToString(), Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, medioPago, factura, modeloImpresora, out respuesta); // string idVentaPrestamo = respuesta.Mensaje; if (respuesta.Valida == false) { Telemetria.Instancia.AgregaMetrica(tiempoGuardarPrestamo.Para().AgregarPropiedad("Exitoso", false).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Valor", (Entorno.Instancia.Prestamo.Valor)).AgregarPropiedad("Error", respuesta.Mensaje)); throw new Exception(respuesta.Mensaje); } Telemetria.Instancia.AgregaMetrica(tiempoGuardarPrestamo.Para().AgregarPropiedad("Exitoso", true).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Valor", (Entorno.Instancia.Prestamo.Valor))); ETerminal terminal = new PTerminal().BuscarTerminalPorCodigo(Common.Config.Terminal, out respuesta); if (respuesta.Valida == false) { throw new Exception(respuesta.Mensaje); } if (Entorno.Instancia.Usuario.UsuarioSupervisor != null) { PIntervencion pInterv = new PIntervencion(); EIntervencion eInterv = new EIntervencion(); eInterv.id_venta = idVentaPrestamo; eInterv.claveSupervisor = Entorno.Instancia.Usuario.UsuarioSupervisor.ClaveSupervisor; eInterv.motivo = "Intervención prestamo"; eInterv.nro_transac = Convert.ToInt32(Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1); pInterv.GuardarIntervencion(eInterv, Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, out respuesta); } Entorno.Instancia.Terminal = terminal; Entorno.Instancia.Prestamo = null; Entorno.Instancia.IdsAcumulados = idsAcumulados; Entorno.Instancia.Usuario.UsuarioSupervisor = null; iu.PanelVentas.VisorMensaje = "Prestamo registrado correctamente."; iu.PanelVentas.VisorEntrada = string.Empty; // si es panel touch if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.PanelVentas.LimpiarOperacion(); } log.Info("[CmdGuardarPrestamo] Prestamo registrado correctamente."); // Imprimir Entorno.Instancia.Impresora.Imprimir(factura, true, false); log.Info("[CmdAgregarPrestamo] Imprimir Operación: " + factura); ePrestamo = null; if (Config.ViewMode == InternalSettings.ModoConsola) { iu.PanelPrestamos.VisorEntrada = string.Empty; } Solicitudes.SolicitudPanelVenta volver = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); Reactor.Instancia.Procesar(volver); iu.MostrarPanelVenta(); }
public CmdPanelVenta(ISolicitud solicitud) : base(solicitud) { solicitudPanelVenta = solicitud as Solicitudes.SolicitudPanelVenta; }
public override void Ejecutar() { // log.Info("[CmdCancelarDevolucion.Ejecutar] Cancelando transacción ..."); // llamar a la persistencia de cancelar transacción Task <MessageResult> resul = null;; if (Config.ViewMode == InternalSettings.ModoConsola) { resul = Entorno.Instancia.Vista.PanelVentas.CancelarOperacion("¿Está seguro de cancelar el ajuste?, [Sí = 1, No = 2]"); } else if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.MensajeUsuario.TextCancelar = "No"; Entorno.Instancia.Vista.MensajeUsuario.TextConfirmar = "Sí"; resul = Entorno.Instancia.Vista.MensajeUsuario.MostrarMensajeAsync("Cancelar Ajuste", "¿Está seguro de cancelar el ajuste?"); } // resul.Wait(); // if (resul.Result == MessageResult.Affirmative) { if (Entorno.Instancia.Ajuste.EstaAbierta) { // llamar a la persistencia de cancelar transacción PVenta pVenta = new PVenta(); Respuesta respuesta = new Respuesta(); Dictionary <string, string> idsAcumulados = Entorno.Instancia.IdsAcumulados; var tiempoCancelarAjuste = new MetricaTemporizador("CancelarAjuste"); pVenta.CancelarVenta(Entorno.Instancia.Ajuste, ref idsAcumulados, Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, ((int)TipoTransaccion.AnularVenta).ToString(), out respuesta); if (respuesta.Valida == false) { Telemetria.Instancia.AgregaMetrica(tiempoCancelarAjuste.Para().AgregarPropiedad("Exitoso", false).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Factura", (Entorno.Instancia.Terminal.NumeroUltimaFactura + 1)).AgregarPropiedad("TotalVenta", Entorno.Instancia.Ajuste.TotalVenta).AgregarPropiedad("TotalImpuestoVenta", Entorno.Instancia.Ajuste.ImpuestosIncluidos.Sum(x => x.Value[2])).AgregarPropiedad("NroArticulosVenta", Entorno.Instancia.Ajuste.NumeroDeItemsVenta).AgregarPropiedad("Error", respuesta.Mensaje)); } else { // Telemetria.Instancia.AgregaMetrica(tiempoCancelarAjuste.Para().AgregarPropiedad("Exitoso", true).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Factura", (Entorno.Instancia.Terminal.NumeroUltimaFactura + 1)).AgregarPropiedad("TotalVenta", Entorno.Instancia.Ajuste.TotalVenta).AgregarPropiedad("TotalImpuestoVenta", Entorno.Instancia.Ajuste.ImpuestosIncluidos.Sum(x => x.Value[2])).AgregarPropiedad("NroArticulosVenta", Entorno.Instancia.Ajuste.NumeroDeItemsVenta)); log.Info("[CmdCancelarTransaccionAjuste] --> Transacción cancelada. Factura: " + Entorno.Instancia.Terminal.NumeroUltimaFactura + 1 + " Transaccion: " + Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1); Entorno.Instancia.IdsAcumulados = idsAcumulados; Entorno.Instancia.Ajuste.EstaAbierta = false; Entorno.Instancia.Ajuste = null; // si es teclado touch if (Config.ViewMode == InternalSettings.ModoTouch) { iu.PanelVentas.LimpiarOperacion(); } respuesta = new Respuesta(false); ETerminal terminal = new PTerminal().BuscarTerminalPorCodigo(Common.Config.Terminal, out respuesta); Entorno.Instancia.Terminal = terminal; // LimpiarTransaccion(); // iu.PanelVentas.VisorCliente.Total = 0; iu.PanelVentas.VisorMensaje = "Transacción cancelada correctamente"; if (Entorno.Instancia.Vista.PantallaCliente != null) { Entorno.Instancia.Vista.PantallaCliente.MostrarVista(DisplayCliente.DisplayMedia); } // Entorno.Instancia.Vista.MostrarDisplayCliente(DisplayCliente.Bienvenida); } } else { if (Config.ViewMode == InternalSettings.ModoTouch) { iu.PanelVentas.LimpiarOperacion(); } LimpiarTransaccion(); Entorno.Instancia.Ajuste = null; if (Entorno.Instancia.Vista.PantallaCliente != null) { Entorno.Instancia.Vista.PantallaCliente.MostrarVista(DisplayCliente.DisplayMedia); } // Entorno.Instancia.Vista.MostrarDisplayCliente(DisplayCliente.Bienvenida); } } else { // SolicitudPanelVenta solVolver = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Volver); Reactor.Instancia.Procesar(solVolver); // if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.MensajeUsuario.OcultarMensaje(); } } }
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() { if (Solicitud.TipoSolicitud == Enums.Solicitud.TerminarRecogida) { // PRecogida pRecogida = new PRecogida(); Dictionary <string, string> idsAcumulados = Entorno.Instancia.IdsAcumulados; EMedioPago medioPago = new PMediosPago().GetAllMediosPago().MedioPago("1"); // decimal totalRecogida = Entorno.Instancia.Recogida.listRecogidas.Sum(); //Entorno.Instancia.Recogida.AgregarValor(totalRecogida); if (totalRecogida <= 0) { throw new Exception("El valor no puede ser vacío o igual a cero."); } // Terminar Recogida // Generar Factura Respuesta respuesta = new Respuesta(); string factura = ProcesarPlantilla.Recogidas(Entorno.Instancia.Recogida); string modeloImpresora = Entorno.Instancia.Impresora.Marca ?? "impresora"; var tiempoGuardarRecogida = new MetricaTemporizador("RecogidaAgregada"); pRecogida.GuardarRecogida(Entorno.Instancia.Recogida, ref idsAcumulados, ((int)TipoTransaccion.Recogida).ToString(), Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, medioPago, factura ?? "contenido", modeloImpresora, out respuesta); // obtener id_venta de la recogida realizada string idVentaRecogida = respuesta.Mensaje; if (respuesta.Valida == false) { Telemetria.Instancia.AgregaMetrica(tiempoGuardarRecogida.Para().AgregarPropiedad("Exitoso", false).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Valor", (Entorno.Instancia.Prestamo.Valor)).AgregarPropiedad("Error", respuesta.Mensaje)); } else { Telemetria.Instancia.AgregaMetrica(tiempoGuardarRecogida.Para().AgregarPropiedad("Exitoso", true).AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)).AgregarPropiedad("Valor", (Entorno.Instancia.Recogida.Valor)).AgregarPropiedad("CodigoRecogida", (Entorno.Instancia.Recogida.CodigoRecogida.Codigo))); log.Info("[CmdTerminarRecogida] Agregar Recogida: " + totalRecogida); respuesta = new Respuesta(false); ETerminal terminal = new PTerminal().BuscarTerminalPorCodigo(Common.Config.Terminal, out respuesta); if (respuesta.Valida == true) { if (Entorno.Instancia.Usuario.UsuarioSupervisor != null) { PIntervencion pInterv = new PIntervencion(); EIntervencion eInterv = new EIntervencion(); eInterv.id_venta = idVentaRecogida; eInterv.claveSupervisor = Entorno.Instancia.Usuario.UsuarioSupervisor.ClaveSupervisor; eInterv.motivo = "Intervención recogida"; eInterv.nro_transac = Convert.ToInt32(Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1); pInterv.GuardarIntervencion(eInterv, Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, out respuesta); } Entorno.Instancia.Terminal = terminal; Entorno.Instancia.IdsAcumulados = idsAcumulados; Entorno.Instancia.Recogida = null; Entorno.Instancia.Usuario.UsuarioSupervisor = null; iu.PanelVentas.VisorMensaje = "Recogida registrada correctamente."; iu.PanelVentas.VisorEntrada = string.Empty; if (Config.ViewMode == InternalSettings.ModoTouch) { Entorno.Instancia.Vista.PanelVentas.LimpiarOperacion(); Entorno.Instancia.Vista.ModalRecogidas.CodigoRecogida = string.Empty; } else { Entorno.Instancia.Vista.PanelRecogidas.VisorEntrada = string.Empty; } log.Info("[CmdTerminarRecogida] Recogida registrada correctamente."); // Imprimir Entorno.Instancia.Impresora.Imprimir(factura, cortarPapel: true, abrirCajon: false); log.Info("[CmdTerminarRecogida] Imprimir Operación: " + factura); //ePrestamo = null; Solicitudes.SolicitudPanelVenta volver = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); Reactor.Instancia.Procesar(volver); } } } else if (Solicitud.TipoSolicitud == Enums.Solicitud.TerminarPrestamo) { } }