示例#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, bool ask = true, bool raiseError = true)
        {
            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];
            else
            {
                if (ask && MessageBox.AskYesNo("Não foi encontrada impressora conectada a este terminal. Cadastrar impressora?") == DialogResult.No)
                {
                    if (raiseError)
                        throw new TerminalSemImpressora();
                    else
                        return null;
                }
            }

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

            return result;
        }
示例#2
0
        private static void WhoIs(ServerDataTransfer response)
        {
            //Procurar se a maquina na qual está conectando é um PDV
            IList<IPDV> pdvs = new PDV().Find<IPDV>(new Where
            {
                { "cad_PDV.Nome", Settings.MachineName }
            });

            //Se for PDV, manda as informações do PDV e impressora fiscal
            if(pdvs.Count > 0)
            {
                IList<IImpressora> impressoras = new Data.ECF.Cadastro.Impressora().Find<IImpressora>(new Where
                {
                   {"cad_PDV.Nome LIKE @p1", new Parameter {
                           ParameterName = "@p1",
                           Value =  Settings.MachineName
                   }
                }});

                response["PDV"] = Serializer.Serialize(pdvs[0]);

                if(impressoras.Count > 0)
                {
                    IImpressora impressora = impressoras[0];
                    response["Impressora"] = Serializer.Serialize(impressora);
                }
                response["IsPDV"] = true;
            }
            else
                response["IsPDV"] = false;

            SendText(response);
        }
示例#3
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;
        }