public void TestarAliquotaIcms() { //Realiza o teste entre todas as possibilidades de estados Origem e Destino (com item brinde e não) //Regra: Estado origem = destino ou item é brinde -> Aliq. ICMS 0.18 caso contrário Aliq. ICMS 0.17 Pedido pedido = new Pedido(); pedido.ItensDoPedido.Add(new PedidoItem()); for (int i = 0; i < 2; i++) { pedido.ItensDoPedido[0].Brinde = (i == 0); foreach (var ufOrigem in Estados) { pedido.EstadoOrigem = ufOrigem; foreach (var UfDestino in Estados) { pedido.EstadoDestino = UfDestino; NotaFiscal notaFiscal = new NotaFiscalService().EmitirNotaFiscal(pedido); if (notaFiscal.EstadoDestino == notaFiscal.EstadoOrigem || pedido.ItensDoPedido[0].Brinde) Assert.AreEqual(0.18, notaFiscal.ItensDaNotaFiscal[0].AliquotaIcms, "Alíquota de ICMS inválida!"); else Assert.AreEqual(0.17, notaFiscal.ItensDaNotaFiscal[0].AliquotaIcms, "Alíquota de ICMS inválida!"); } } } }
private void buttonGerarNotaFiscal_Click(object sender, EventArgs e) { Pedido pedido = new Pedido(); NotaFiscalService service = new NotaFiscalService(); pedido.EstadoOrigem = cboEstadoOrigem.Text; pedido.EstadoDestino = cboEstadoDestino.Text; pedido.NomeCliente = textBoxNomeCliente.Text; DataTable table = (DataTable)dataGridViewPedidos.DataSource; foreach (DataRow row in table.Rows) { pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = Convert.ToBoolean(row["Brinde"]), CodigoProduto = row["Codigo do produto"].ToString(), NomeProduto = row["Nome do produto"].ToString(), ValorItemPedido = Convert.ToDouble(row["Valor"].ToString()) }); } service.GerarNotaFiscal(pedido); MessageBox.Show("Operação efetuada com sucesso", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Information); LimparTela(); textBoxNomeCliente.Focus(); }
public FormImposto() { InitializeComponent(); _service = new NotaFiscalService(); ResizeColumns(); }
private void buttonGerarNotaFiscal_Click(object sender, EventArgs e) { NotaFiscalService service = new NotaFiscalService(); pedido.EstadoOrigem = cbEstadoOrigem.Text; pedido.EstadoDestino = cbEstadoDestino.Text; pedido.NomeCliente = textBoxNomeCliente.Text; DataTable table = (DataTable)dataGridViewPedidos.DataSource; foreach (DataRow row in table.Rows) { string brind = row["Brinde"].ToString(); if (brind == "") { brind = "false"; } pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = Convert.ToBoolean(brind), CodigoProduto = row["Codigo do produto"].ToString(), NomeProduto = row["Nome do produto"].ToString(), ValorItemPedido = Convert.ToDouble(row["Valor"].ToString()) }); } service.GerarNotaFiscal(pedido); MessageBox.Show("Operação efetuada com sucesso"); textBoxNomeCliente.Text = ""; cbEstadoOrigem.SelectedIndex = -1; cbEstadoDestino.SelectedIndex = -1; dataGridViewPedidos.DataSource = null; dataGridViewPedidos.DataSource = GetTablePedidos(); ResizeColumns(); textBoxNomeCliente.Focus(); //Teste da SP P_CFOP /* SqlConnection conn = Conexao.obterConexao(); if (conn == null) { MessageBox.Show("Erro ao tentar conectar com o banco de dados"); } SqlDataReader reader = service.ValorPorCFOP(conn); while (reader.Read()) { MessageBox.Show(reader[0].ToString() + " " + reader[1].ToString() + " " + reader[3].ToString()); } Conexao.fecharConexao();*/ }
public void GerarPedido() { _service = new NotaFiscalService(); DataTable dados = _service.PrepararItensPedido(); DataRow linha = dados.NewRow(); linha[0] = "Sabonete"; linha[1] = "100101"; linha[2] = 10.00; linha[3] = false; dados.Rows.Add(linha); Pedido pedido = _service.GerarPedido("Willian Rodrigues", "SP", "MG", dados); if (pedido != null) Console.Write("Pedido para " + pedido.NomeCliente); }
public void GerarNotaFiscal() { string _diretorio = ConfigurationManager.AppSettings.Get("CaminhoNota").ToString(); _service = new NotaFiscalService(); DataTable dados = _service.PrepararItensPedido(); DataRow linha = dados.NewRow(); linha[0] = "Sabonete"; linha[1] = "100101"; linha[2] = 10.00; linha[3] = false; dados.Rows.Add(linha); Pedido pedido = _service.GerarPedido("Willian Rodrigues", "SP", "MG", dados); _service.GerarNotaFiscal(pedido, _diretorio); }
private void buttonGerarNotaFiscal_Click(object sender, EventArgs e) { NotaFiscalService service = new NotaFiscalService(); pedido.EstadoOrigem = txtEstadoOrigem.Text; pedido.EstadoDestino = txtEstadoDestino.Text; pedido.NomeCliente = textBoxNomeCliente.Text; DataTable table = (DataTable)dataGridViewPedidos.DataSource; foreach (DataRow row in table.Rows) { pedido.ItensDoPedido.Add( new PedidoItem() { //Brinde = Convert.ToBoolean(row["Brinde"]), -- Erro de conversão quando o campo está nulo Brinde = row.Field<bool?>("Brinde") ?? false, CodigoProduto = row["Codigo do produto"].ToString(), NomeProduto = row["Nome do produto"].ToString(), ValorItemPedido = Convert.ToDouble(row["Valor"].ToString()) }); } //Exercicio 6 try { service.GerarNotaFiscal(pedido); MessageBox.Show("Operação efetuada com sucesso"); txtEstadoDestino.Text = ""; txtEstadoOrigem.Text = ""; textBoxNomeCliente.Text = ""; if (this.dataGridViewPedidos.DataSource != null) { this.dataGridViewPedidos.DataSource = null; } else { this.dataGridViewPedidos.Rows.Clear(); } dataGridViewPedidos.DataSource = GetTablePedidos(); } catch(Exception ex) { MessageBox.Show("Ocorreu erro ao gerar a Nota Fiscal: " + ex.ToString()); } }
public void TestarValorIpi() { //Realiza testes no valor do ipi //Regra: Valor do ipi = base ipi * aliquota ipi [Aliquota do ipi brinde = 0 caso contrário 10%] for (int i = 0; i < 2; i++) { Pedido pedido = new Pedido(); pedido.ItensDoPedido.Add(new PedidoItem() { ValorItemPedido = 19.75, Brinde = (i == 0) }); NotaFiscal notaFiscal = new NotaFiscalService().EmitirNotaFiscal(pedido); if (pedido.ItensDoPedido[0].Brinde) Assert.AreEqual(0, notaFiscal.ItensDaNotaFiscal[0].ValorIpi, "Valor do IPI divergente para Brindes!"); else { double valor = pedido.ItensDoPedido[0].ValorItemPedido * 0.1; Assert.AreEqual(valor, notaFiscal.ItensDaNotaFiscal[0].ValorIpi, "Valor do IPI divergente!"); } } }
private void buttonGerarNotaFiscal_Click(object sender, EventArgs e) { NotaFiscalService service = new NotaFiscalService(); pedido.EstadoOrigem = txtEstadoOrigem.Text; if (!pedido.EstadoOrigemValido()) { MessageBox.Show("Estado origem inválido para o pedido."); return; } pedido.EstadoDestino = txtEstadoDestino.Text; if (!pedido.EstadoDestinoValido()) { MessageBox.Show("Estado destino inválido para o pedido."); return; } pedido.NomeCliente = textBoxNomeCliente.Text; DataTable table = (DataTable)dataGridViewPedidos.DataSource; foreach (DataRow row in table.Rows) { pedido.ItensDoPedido.Add( new PedidoItem() { Brinde = Convert.ToBoolean(row["Brinde"]), CodigoProduto = row["Codigo do produto"].ToString(), NomeProduto = row["Nome do produto"].ToString(), ValorItemPedido = Convert.ToDouble(row["Valor"].ToString()) }); } service.GerarNotaFiscal(pedido); MessageBox.Show("Operação efetuada com sucesso"); LimparTela(); }
public void GerarXMLNota() { string _diretorio = ConfigurationManager.AppSettings.Get("CaminhoNota").ToString(); _service = new NotaFiscalService(); DataTable dados = _service.PrepararItensPedido(); DataRow linha = dados.NewRow(); linha[0] = "Sabonete"; linha[1] = "100101"; linha[2] = 10.00; linha[3] = false; dados.Rows.Add(linha); Pedido pedido = _service.GerarPedido("Willian Rodrigues", "SP", "MG", dados); NotaFiscal notaFiscal = new NotaFiscal(); notaFiscal.EmitirNotaFiscal(pedido); _service.GerarXMLNota(_diretorio, notaFiscal); if (pedido != null) Console.Write("Pedido para " + notaFiscal.NumeroNotaFiscal); }
public void TestarDesconto() { _service = new NotaFiscalService(); DataTable dados = _service.PrepararItensPedido(); DataRow linha = dados.NewRow(); linha[0] = "Sabonete"; linha[1] = "100101"; linha[2] = 10.00; linha[3] = false; dados.Rows.Add(linha); Pedido pedido = _service.GerarPedido("Willian Rodrigues", "SP", "MG", dados); NotaFiscal notaFiscal = new NotaFiscal(); notaFiscal.EmitirNotaFiscal(pedido); if (notaFiscal.ItensDaNotaFiscal[0].Desconto == 10 ) Console.Write("Desconto foi aplicado!"); }