public PrinterInfo PrintTicketItem(string description, int quantity, decimal price, int tax)
        {
            var commands = new List <string>();

            commands.Add(EpsonFPCommand.PrintTicketItem);
            commands.AddBlanks(4); // description
            commands.Add(description.Take(Configuration.MaxCharacterLength));
            commands.Add(quantity * 10000);
            commands.Add(price * 10000);
            commands.Add(tax * 100);
            commands.AddBlanks(2);

            return(_provider.SendData(commands));
        }
        public PrinterInfo PrintTicketHeader(string client, string taxCategory, string address, string id, string idType)
        {
            var commands = new List <string>();

            commands.Add(EpsonFPCommand.PrintTicketHeader);
            commands.AddWrapped(client);

            // client address wrapped into three lines
            if (taxCategory == "I")
            {
                commands.AddWrapped(address, true);
            }
            else
            {
                commands.AddBlanks(3);
            }

            commands.Add(
                idType,
                id,
                taxCategory
                );

            // refer (remito, obligatorio para comprobantes A)
            if (taxCategory == "I")
            {
                commands.Add(".", ".");
            }
            else
            {
                commands.AddBlanks(2);
            }

            // reintegro de turistas
            commands.AddBlank();

            return(_provider.SendData(commands));
        }
        public PrinterInfo PrintTicketItem(string description, int quantity, decimal price, int tax)
        {
            var commands = new List<string>();

            commands.Add(EpsonFPCommand.PrintTicketItem);
            commands.AddBlanks(4); // description
            commands.Add(description.Take(Configuration.MaxCharacterLength));
            commands.Add(quantity * 10000);
            commands.Add(price * 10000);
            commands.Add(tax * 100);
            commands.AddBlanks(2);

            return _provider.SendData(commands);
        }
        public PrinterInfo PrintTicketHeader(string client, string taxCategory, string address, string id, string idType)
        {
            var commands = new List<string>();

            commands.Add(EpsonFPCommand.PrintTicketHeader);
            commands.AddWrapped(client);

            // client address wrapped into three lines
            if (taxCategory == "I")
            {
                commands.AddWrapped(address, true);
            }
            else
            {
                commands.AddBlanks(3);
            }

            commands.Add(
                idType,
                id,
                taxCategory
            );

            // refer (remito, obligatorio para comprobantes A)
            if (taxCategory == "I")
            {
                commands.Add(".", ".");
            }
            else
            {
                commands.AddBlanks(2);
            }

            // reintegro de turistas
            commands.AddBlank();

            return _provider.SendData(commands);
        }