/// <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; }
/// <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(); }
/// <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) { }
public Relatorio(ModeloECF modelo, string porta) : base(modelo, porta) { Inicialize(); }
/// <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) { }
/// <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) { }
public Configuracao(ModeloECF modelo, string porta) : base(modelo, porta) { Inicialize(); }
/// <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; }
/// <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; }
/// <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) { }
/// <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) { }
/// <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) { }
/// <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) { }