예제 #1
0
        public override void Ejecutar()
        {
            Respuesta   res         = new Respuesta();
            PArqueo     parqueo     = new PArqueo();
            PMediosPago pmediospago = new PMediosPago();
            EMediosPago mediosPago  = pmediospago.GetAllMediosPago();

            Entorno.Instancia.Vista.PanelArqueo.Caja = parqueo.obtenerEcaja(Entorno.Instancia.Terminal, Entorno.Instancia.Usuario, mediosPago, out res);
            Entorno.Instancia.Vista.PanelArqueo.CargarCaja();

            //Telemetria.Instancia.AgregaMetrica(new Evento("EstadoArqueo"));

            log.Info("[CmdEstadoArqueo] Inicio de Arqueo.");
            Telemetria.Instancia.AgregaMetrica(new Evento("InicioArqueo").AgregarPropiedad("Transaccion", (Entorno.Instancia.Terminal.NumeroUltimaTransaccion + 1)));

            try
            {
                if (Entorno.Instancia.Impresora != null)
                {
                    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));
            }
        }
예제 #2
0
        public ECaja obtenerEcaja(ETerminal terminal, EUsuario usuario, EMediosPago mediosPago, out Respuesta respuesta)
        {
            ECaja caja = null;

            respuesta = new Respuesta(false);

            RArqueo rArqueo = new RArqueo();
            var     arqueo  = rArqueo.ObtenerArqueo(terminal.Codigo, usuario.IdUsuario);

            if (arqueo.IsNullOrEmptyTable())
            {
                respuesta.Mensaje = "Codigos de Recogidas no encontrados.";
                respuesta.Valida  = false;
            }
            else
            {
                Dictionary <EMedioPago, decimal> dictionary = new Dictionary <EMedioPago, decimal>();

                foreach (DataRow dr in arqueo.Rows)
                {
                    var mediopaog = (string)dr["id_medio_pago"];
                    dictionary.Add(mediosPago.MedioPago(mediopaog), (decimal)dr["total"]);
                }

                caja             = new ECaja(dictionary);
                respuesta.Valida = true;
            }

            return(caja);
        }
예제 #3
0
        public EMediosPago GetAllMediosPago()
        {
            var repositorio = new RMedioPago();
            var medios      = new EMediosPago();
            var registros   = repositorio.GetAllMediosPago();

            foreach (DataRow registro in registros.Rows)
            {
                var medio = MedioPagoUtil.InstanciarDesde(registro);
                medios.ListaMediosPago.Add(medio);
            }
            return(medios);
        }
예제 #4
0
        public List <DMedioPago> GetDTOsMediosPago()
        {
            List <DMedioPago> mediosPago = null;

            EMediosPago eMedioPago = GetAllMediosPago();

            if (!eMedioPago.ListaMediosPago.IsNullOrEmptyList())
            {
                mediosPago = (from m in eMedioPago.ListaMediosPago
                              select new DMedioPago
                {
                    CodigoMedioPago = m.Codigo,
                    NombreMedioPago = m.Tipo
                }).ToList();
            }

            return(mediosPago);
        }