Пример #1
0
        /// <summary>
        /// Cria uma impressora com os dados que foram localizados pela configuração da impressota
        /// </summary>
        /// <param name="ask">Se true, interage com o usuário e confirma antes de executar cada ação</param>
        /// <param name="pdv">PDV que será associado à impressora cadastrada.</param>
        /// <param name="raiseError">Se true, os erros são lançados ao objeto chamador</param>
        /// <returns>Retorna um impressora cadastrada na aplicação</returns>
        /// <exception cref="TerminalSemImpressora">Lançada quando não foi encontrada um impressora e não foi permitido cadastrar uma.</exception>
        public static IImpressora Create(IPDV pdv, ModeloECF modelo, string porta = null)
        {
            IImpressora result = null;

            //-------------------------------------------------------------------------
            // Validar se existe uma impresssora com este nome de máquina
            //-------------------------------------------------------------------------
            IList<IImpressora> impressoras = new Data.ECF.Cadastro.Impressora().Find<IImpressora>(new Where
            {
               {"cad_PDV.Nome LIKE @p1", new Parameter {
                       ParameterName = "@p1",
                       Value =  Settings.MachineName
               }
            }});

            if (impressoras.Count > 0)
                result = impressoras[0];

            if (result == null)
            {
                Wait.Show();
                result = SaveImpressora(pdv, modelo, porta);
                Wait.Close();
            }

            return result;
        }
Пример #2
0
 /// <summary>
 /// Cosntrutores da classe ECF
 /// </summary>
 /// <param name="modelo">Modelo do ECF</param>
 /// <param name="porta">Porta de comunicação do ECF</param>
 protected ECFBase(ModeloECF modelo, string porta)
     : base()
 {
     Modelo = modelo;
     Dipositivo.Porta = porta;
     ACBrECF.Device.TimeOut = 0;
     ACBrECF.Device.Baud = 115200;
     Inicialize();
 }
Пример #3
0
 /// <summary>
 /// Instancia a classe e inicializa as variáveis
 /// </summary>
 /// <param name="modelo">Modelo da impressora fiscal de acordo com o ACBr</param>
 /// <param name="porta">Porta na qual a impressora fiscal está instalada</param>
 public Informacao(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }
Пример #4
0
 public Relatorio(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
     Inicialize();
 }
Пример #5
0
 /// <summary>
 /// Construtor da classe
 /// </summary>
 /// <param name="modelo">Modelo do ECF</param>
 /// <param name="porta">Porta de comunicação com o ECF</param>
 public RelatorioGerencial(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }
Пример #6
0
 /// <summary>
 /// Construtor da classe
 /// </summary>
 /// <param name="modelo">Modelo do ECF</param>
 /// <param name="porta">Porta de comunicação com o ECF</param>
 public RelatorioFiscal(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }
Пример #7
0
 public Configuracao(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
     Inicialize();
 }
Пример #8
0
 /// <summary>
 /// Método para salvar a impressora 
 /// </summary>
 /// <param name="pdv">PDV a que esta impressora está conectada</param>
 /// <param name="modelo">modelo de impressora </param>
 /// <param name="porta">porta  a que a impressora está conectada</param>
 private static IImpressora SaveImpressora(IPDV pdv, ModeloECF modelo = ModeloECF.Nenhum, string porta = null)
 {
     IImpressora result = null;
     if (Unimake.Convert.ToBoolean(Settings.Setting.EmissaoConsumidorFinalNFCe))
     {
         //Salva uma impressora para o terminal
         result = new Impressora();
         result.Descricao = Settings.MachineName; ;
         result.Serie = "99999999999999999";
         result.Identificacao = "99999999999999999";
         result.Tipo = Enuns.ECF.TipoImpressora.NaoFiscal;
         result.Marca = "NaoFiscal";
         result.ModeloACBR = ModeloECF.NaoFiscal;
         //TODO: Caso  for utilizar o sistema com algum tipo de impressora diferente de ecf implementar a verificação
         result.ModeloDocumentoFiscal = OpenPOS.Arquivo.Sintegra.ModeloDocumento.Dois2D.ToString();
         result.Versao = "99999999999999999";
         result.MFD = false;
         result.MFAdicional = "N";
         result.NumeroUsuario = 0;
         result.PDV = pdv;
         result.Porta = "USB";
         result.Save();
     }
     else
         using (IECF ecf = ReturnECF(modelo, porta))
         {
             result = new Impressora();
             result.Descricao = Settings.MachineName; ;
             result.Serie = ecf.NumeroSerie;
             result.Identificacao = ecf.NumeroSerie.ToString();
             result.Tipo = ecf.TipoImpressora;
             result.Marca = ecf.Modelo.ToString();
             result.ModeloACBR = ecf.Modelo;
             //TODO: Caso  for utilizar o sistema com algum tipo de impressora diferente de ecf implementar a verificação
             result.ModeloDocumentoFiscal = OpenPOS.Arquivo.Sintegra.ModeloDocumento.Dois2D.ToString();
             result.Versao = ecf.NumeroVersao;
             result.MFD = ecf.IsMFD;
             result.MFAdicional = ecf.MFAdicional;
             result.NumeroUsuario = Unimake.Convert.ToInt(ecf.NumeroECF);
             result.PDV = pdv;
             result.Porta = ecf.Dipositivo.Porta;
             result.Save();
         }
     return result;
 }
Пример #9
0
 /// <summary>
 /// Método estático para retornar a impressora fiscal
 /// </summary>
 /// <param name="modelo">Modelo da ECF</param>
 /// <param name="porta">Porta a que a impressora está conectada</param>
 /// <returns>Retorna um objeto ECF</returns>
 private static IECF ReturnECF(ModeloECF modelo, string porta)
 {
     IECF ecf = null;
     if (modelo == ModeloECF.Nenhum &&
         string.IsNullOrEmpty(porta))
         ecf = new ECF();
     else
         ecf = new ECF(modelo, porta);
     return ecf;
 }
Пример #10
0
 /// <summary>
 /// Construtor da classe
 /// </summary>
 /// <param name="modelo">Modelo do ECF</param>
 /// <param name="porta">Porta de comunicação com o ECF</param>
 public CupomVinculado(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }
Пример #11
0
 /// <summary>
 /// Construtor da classe
 /// </summary>
 /// <param name="modelo">Modelo do ECF</param>
 /// <param name="porta">Porta de comunicação com o ECF</param>
 public CupomNaoFiscal(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }
Пример #12
0
 /// <summary>
 /// Construtor da classe
 /// </summary>
 /// <param name="modelo">Modelo do ECF</param>
 /// <param name="porta">Porta de comunicação com o ECF</param>
 public ECF(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }
Пример #13
0
 /// <summary>
 /// Construtor da classe
 /// </summary>
 /// <param name="modelo">Modelo ECF</param>
 /// <param name="porta">Porta de comunicação com o ECF</param>
 public Configuracao(ModeloECF modelo, string porta)
     : base(modelo, porta)
 {
 }