Exemplo n.º 1
0
        /// <summary>
        /// Exibe a caixa de mensagem de seleção de período entre datas
        /// </summary>
        /// <returns></returns>
        public static InformaAliquotaResult Show()
        {
            frmNovaAliquota f = new frmNovaAliquota();
            DialogResult result = f.ShowDialog();

            if (result == DialogResult.OK)
            {
                using (IConfiguracao conf = new Configuracao(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta))
                {
                    try
                    {
                        conf.ProgramaAliquota(f.mkNumberValorAliquota.Value, f.ICMS ? "T" : "S");
                        conf.CarregaAliquotas();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.ShowError(ex, false);
                        return new InformaAliquotaResult("", 0.0, false);
                    }
                }
            }

            f.Close();

            return new InformaAliquotaResult(
                        f.ICMS ? "T" : "S",
                        f.mkNumberValorAliquota.Value,
                        result == DialogResult.OK ? true : false
                        );
        }
Exemplo n.º 2
0
        /// <summary>
        /// Popula a grid com as alíquotas presentes na impressora fiscal e as da aplicação
        /// </summary>
        /// <returns>Se true, foi populado corretamente</returns>
        public override bool InitStep()
        {
            bool result = base.InitStep();

            IList<object[]> sourceVinculo = new List<object[]>();
            IList<object[]> sourceVinculado = new List<object[]>();
            IList<IAliquotaTributo> aliqTrib = new AliquotaTributo().Find<IAliquotaTributo>();

            if (result)
            {
                try
                {
                    using (IConfiguracao conf = new Configuracao())
                    {
                        foreach (ACBrFramework.ECF.Aliquota aliquotaECF in conf.LerAliquotas())
                        {
                            if (aliquotaECF.Tipo == "T")
                            {
                                sourceVinculo.Add(new object[]
                                {
                                    string.Empty,
                                    aliquotaECF.Indice,
                                    string.Format("{0}{1:0000}", aliquotaECF.Tipo, aliquotaECF.ValorAliquota.ToString("00.00")),
                                });
                            }
                            else
                            {
                                sourceVinculo.Add(new object[]
                                {
                                    string.Empty,
                                    aliquotaECF.Indice,
                                    string.Format("{0}{1:0000}", aliquotaECF.Tipo, aliquotaECF.ValorAliquota.ToString("00.00"))
                                });
                            }
                        }
                    }

                    foreach (IAliquotaTributo aliquota in aliqTrib)
                    {
                        sourceVinculado.Add(new object[]
                        {
                            aliquota.GUID.ToString(),
                            aliquota.Valor
                        });
                    }

                    confECF.PopulateGrid(sourceVinculo, sourceVinculado);
                }
                catch (Exception ex)
                {
                    MessageBox.ShowError(ex, false);
                }
            }

            return result;
        }
Exemplo n.º 3
0
        public void CadastraTotalizadorNaoFiscal()
        {
            using (IConfiguracao conf = new OpenPOS.ECF.Configuracao(ModeloECF.Bematech, "COM7"))
            {
                string obs = "Suprimento";
                conf.CadastraTotalizadorNaoFiscal(obs, "");
            }

            using (IRelatorioFiscal rf = new RelatorioFiscal(ModeloECF.Bematech, "COM7"))
            {
                rf.LeituraX();
            }
        }
Exemplo n.º 4
0
        private void buttonOK_Click(object sender, System.EventArgs e)
        {
            DialogResult = System.Windows.Forms.DialogResult.None;
            if (OpenPOS.MessageBox.AskYesNo("Cadastrar uma aliquota na Impressora Fiscal - ECF é uma tarefa irreversível. Deseja continuar?", "Cadastrar Alíquota", MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                if (rdbtnICMS.Checked && rdBtnServico.Checked)
                {
                    MessageBox.RequiredField(rdbtnICMS, "Tipo da Aliquota");
                    return;
                }

                if (mkNumberValorAliquota.Value <= 0.0)
                {
                    MessageBox.RequiredField(mkNumberValorAliquota, "Valor da Aliquota");
                    return;
                }

                using (IConfiguracao conf = new Configuracao(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta))
                {
                    if (conf.Aliquotas.Where(k => (((k.Indice.StartsWith("T") && rdbtnICMS.Checked) ||
                        (k.Indice.StartsWith("S") && rdBtnServico.Checked)) &&
            k.ValorAliquota == Unimake.Convert.ToDecimal(mkNumberValorAliquota.Value))).Count() > 0)
                    {
                        MessageBox.RequiredField(rdbtnICMS, "Indice ou Aliquota não podem ser iguais a alguma já cadastrada");
                        return;
                    }
                }

                DialogResult = System.Windows.Forms.DialogResult.OK;
                Hide();
            }
            else
                buttonCancelar.PerformClick();
        }
Exemplo n.º 5
0
        public void ProgramarFormaPagamento()
        {
            //Descrição da forma de pagamento
            string descricao = "Cheque";
            //Permite o cupom vinculado
            bool permiteVinculado = false;
            //Posição da forma de pagamento
            string posicao = "";

            try
            {
                using (IConfiguracao conf = new OpenPOS.ECF.Configuracao())
                {
                    conf.ProgramaFormaPagamento(descricao, permiteVinculado, posicao);
                    WriteLine("Forma de pagamento cadastrada com sucesso.");
                }
            }
            catch (Exception ex)
            {
                WriteLine(ex.Message);
            }
        }
Exemplo n.º 6
0
        public void ProgramarAliquota()
        {
            //Valor da alíquota a ser cadastrada
            double aliquota = 1.00;
            //Tipo da alíquota a ser cadastrada: "T" para ICMS ou "S" para ISSQN
            string tipo = "T";
            //posição da alíquota: passa vazio, pois o componente indicará a posição
            string posicao = "";

            try
            {
                using (IConfiguracao conf = new OpenPOS.ECF.Configuracao())
                {
                    conf.ProgramaAliquota(aliquota, tipo, posicao);
                    WriteLine("Alíquota cadastrada com sucesso.");
                }
            }
            catch (Exception ex)
            {
                WriteLine(ex.Message);
            }
        }
Exemplo n.º 7
0
        public void MudarArredondamento()
        {
            using (IConfiguracao conf = new OpenPOS.ECF.Configuracao())
            {
                conf.MudaArredondamento(true);
                WriteLine("Arredondamento configurado com sucesso.");
            }

            using (IConfiguracao conf = new OpenPOS.ECF.Configuracao())
            {
                conf.MudaArredondamento(false);
                WriteLine("Truncamento configurado com sucesso.");
            }
        }
Exemplo n.º 8
0
 public void MudaHorarioVerao()
 {
     using (IConfiguracao conf = new OpenPOS.ECF.Configuracao())
     {
         conf.MudaHorarioVerao();
         WriteLine("Horário de verão configurado com sucesso.");
     }
 }
Exemplo n.º 9
0
 public void GrandeTotal()
 {
     using (IConfiguracao conf = new OpenPOS.ECF.Configuracao())
     {
         Assert.IsTrue(conf.GrandeTotal > 0);
         WriteLine("Grande total do dia do ECF recuperado com sucesso.");
     }
 }
Exemplo n.º 10
0
        /// <summary>
        /// Popula a grid com as alíquotas cadastradas na impressora fiscal
        /// </summary>
        private void Populate()
        {
            Wait.Show();

            IList<object[]> sourceVinculo = new List<object[]>();
            IList<object[]> sourceVinculado = new List<object[]>();

            IList<IAliquotaTributo> aliqTributos = new AliquotaTributo().Find<IAliquotaTributo>();

            IList<IAliquota> aliquotas = new Aliquota().Find<IAliquota>(new Where
            {
                { "ecf_aliquota.guidimpressora = @guid",
                    new Parameter
                    {
                        ParameterName = "@guid",
                        Value = Settings.ECF.ECFAtual.GUID.ToString()
                    }
                }
            });

            try
            {
                //Acessando a impressora fiscal para buscar quais as alíquotas cadastradas
                using (IConfiguracao conf = new Configuracao(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta))
                {
                    var aliquotasECF = (from a in conf.LerAliquotas()
                                        select a);

                    foreach (ACBrFramework.ECF.Aliquota item in aliquotasECF)
                    {
                        IAliquota aliquota = aliquotas.FirstOrDefault(f => f.Indice.ToString().Trim().Equals(item.Indice));

                        if (item.Tipo.Equals("T"))
                        {
                            sourceVinculo.Add(new object[]
                            {
                                aliquota == null ? "" : aliquota.TributoAliquota.GUID.ToString(),
                                item.Indice,
                                string.Format("T{0:0000}", item.ValorAliquota.ToString("00.00")),
                            });
                        }
                        else
                        {
                            sourceVinculo.Add(new object[]
                            {
                                aliquota == null ? "" : aliquota.TributoAliquota.GUID.ToString(),
                                item.Indice,
                                string.Format("S{0:0000}", item.ValorAliquota.ToString("00.00")),
                            });
                        }
                    }

                    foreach (IAliquotaTributo aliqTrib in aliqTributos)
                    {
                        sourceVinculado.Add(new object[]
                        {
                            aliqTrib.GUID.ToString(),
                            aliqTrib.Valor.ToString()
                        });
                    }
                }

                //Popula a grid com as alíquotas do ECF e as que serão vinculadas
                confECF.PopulateGrid(sourceVinculo, sourceVinculado);
            }
            catch (Exception ex)
            {
                MessageBox.ShowError(ex, false);
            }
            Wait.Close();
        }
Exemplo n.º 11
0
 /// <summary>
 /// Cadastra uma alíquota de ICMS ou ISSQN na impressora fiscal
 /// </summary>
 /// <param name="sender">Objeto que disparou o evento</param>
 /// <param name="e">Argumentos do evento gerado</param>
 private void GrdMain_AddClick(object sender, EventArgs e)
 {
     InformaAliquotaResult result = OpenPOS.NovaAliquota.Show();
     if (result.OK)
     {
         using (IConfiguracao conf = new Configuracao(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta))
         {
             confECF.GrdMain.Rows.Add(new object[] {
                         string.Empty,
                         conf.Aliquotas.LastOrDefault().Indice,
                         string.Format(result.Indice.Contains("S") ?"S{0:0000}":"T{0:0000}" , result.Aliquota.ToString("00.00"))
             });
         };
     }
 }