Пример #1
0
        public void TestAtribuicaoDireita()
        {
            const decimal valorEsperado = 10.00M;
            ValorUnitario valorUnitario = valorEsperado;

            Assert.Equal(valorEsperado, valorUnitario.Value);
        }
Пример #2
0
        public bool Validar(out string Alertas)
        {
            StringBuilder msg = new StringBuilder();

            if (string.IsNullOrEmpty(Nome.Trim()))
            {
                msg.Append("É necessário informar o nome do produto.");
                msg.AppendLine();
            }
            else if (string.IsNullOrEmpty(ValorUnitario.ToString()))
            {
                msg.Append("É necessário informar o valor unitário.");
                msg.AppendLine();
            }
            else if (string.IsNullOrEmpty(Quantidade.ToString()))
            {
                msg.Append("É necessário informar a quantidade.");
                msg.AppendLine();
            }
            else if (Fabricante.ToString() == "Selecione")
            {
                msg.Append("É necessário informar o fabricante.");
                msg.AppendLine();
            }
            else if (Distribuidora.ToString() == "Selecione")
            {
                msg.Append("É necessário informar a distribuidora.");
                msg.AppendLine();
            }

            Alertas = msg.ToString();
            return(msg.Length == 0);
        }
Пример #3
0
        public void TestValorUnitarioValido()
        {
            ValorUnitario valorUnitario = new ValorUnitario(0.01M);

            bool estaValido = valorUnitario.Validar();

            Assert.True(estaValido);
        }
Пример #4
0
        public void TestValorUnitarioInvalido()
        {
            ValorUnitario valorUnitario = new ValorUnitario(0.00M);

            bool estaValido = valorUnitario.Validar();

            Assert.False(estaValido);
        }
Пример #5
0
        public void TestAtribuicaoEsquerda()
        {
            const decimal valorInicial  = 10M;
            ValorUnitario valorUnitario = new ValorUnitario(valorInicial);

            decimal valorCast = valorUnitario;

            Assert.Equal(valorInicial, valorCast);
        }
Пример #6
0
        public override string ToString()
        {
            return(Produto != null
                ? Produto.DescricaoProduto + "  " + Produto.QuantidadeProduto.ToString("N3") +
                   " x " + Produto.PrecoVenda.ToString("N2") + " = " +
                   Produto.CalculaTotalProduto(Produto.PrecoVenda, Produto.QuantidadeProduto).ToString("N2")

                : IdProduto + "=>" + Quantidade.ToString("N3") +
                   " x " + ValorUnitario.ToString("N2") + " = " +
                   TotalItem.ToString("N2"));
        }
Пример #7
0
        public void TestCalculaPrecoPromocional(FormaDePagamento formaDePagamento,
                                                decimal valorEsperado)
        {
            Quantidade    quantidadeVendidaMaiorQuePromocional = 5.52M;
            ValorUnitario valorUnitario = 20;
            Quantidade    quantidadePromocionalMenorQueComprado = 5.51M;
            ValorUnitario valorPromocional          = 10;
            var           calculadoraPrecoVendaItem = new CalculadoraPrecoVendaItem();

            var valorCalculado = calculadoraPrecoVendaItem.Calcular(
                formaDePagamento, quantidadeVendidaMaiorQuePromocional, valorUnitario,
                quantidadePromocionalMenorQueComprado, valorPromocional);

            Assert.Equal(valorEsperado, valorCalculado.Value);
        }
Пример #8
0
        public void TestQuantidadeGaranteCalculoNormal(FormaDePagamento formaDePagamento)
        {
            Quantidade    quantidadeVendidaMenorQuePromocional = new Quantidade(5.5M);
            ValorUnitario valorUnitario = new ValorUnitario(10);
            Quantidade    quantidadePromocionalMaiorQueComprado = new Quantidade(5.51M);
            ValorUnitario valorPromocional          = new ValorUnitario(20M);
            ValorUnitario valorEsperado             = new ValorUnitario(55M);
            var           calculadoraPrecoVendaItem = new CalculadoraPrecoVendaItem();

            var valorCalculado = calculadoraPrecoVendaItem.Calcular(
                formaDePagamento, quantidadeVendidaMenorQuePromocional, valorUnitario,
                quantidadePromocionalMaiorQueComprado, valorPromocional);

            Assert.Equal(valorEsperado.Value, valorCalculado.Value);
        }
Пример #9
0
        public void TestQuantidadePromocionalMenorZeroSempreCalculoNormal()
        {
            Quantidade    quantidadeVendidaMaiorQuePromocional = 5.52M;
            ValorUnitario valorUnitario = 10.5M;
            Quantidade    quantidadePromocionalMenorZero = -0.01M;
            ValorUnitario valorPromocional          = -1;
            ValorUnitario valorEsperado             = 57.96M;
            var           formaDePagamento          = FormaDePagamento.Dinheiro;
            var           calculadoraPrecoVendaItem = new CalculadoraPrecoVendaItem();

            var valorCalculado = calculadoraPrecoVendaItem.Calcular(
                formaDePagamento, quantidadeVendidaMaiorQuePromocional, valorUnitario,
                quantidadePromocionalMenorZero, valorPromocional);

            Assert.Equal(valorEsperado.Value, valorCalculado.Value);
        }
Пример #10
0
 private void Form1_Load(object sender, EventArgs e)
 {
     Quantidade.Hide();
     TXTQTDE.Hide();
     ValorUnitario.Hide();
     TXTVALORUNITARIO.Hide();
     Valor.Hide();
     TXTVALOR.Hide();
     Total.Hide();
     TXTTOTAL.Hide();
     Descricao.Hide();
     TXT_DESC.Hide();
     dgDados.Hide();
     valorrecebido.Hide();
     TXT_VLRR.Hide();
     troco.Hide();
     TXT_TROCO.Hide();
 }
Пример #11
0
        public List <string> Valida(int row)
        {
            var errosAtuais = new List <string>();

            if (DataEntregaIsValid() == false)
            {
                errosAtuais.Add($"A data de entrega do produto não é uma data válida. Erro na Linha: {row}.");
            }

            if (DataEntrega <= DateTime.Now)
            {
                errosAtuais.Add($"A data de entrega do produto não pode ser menor ou igual que o dia atual. Erro na Linha: {row}.");
            }

            if (Nome == null)
            {
                errosAtuais.Add($"O nome do produto não pode ser nulo. Erro na Linha: {row}.");
            }

            if (Nome.Length > 50)
            {
                errosAtuais.Add($"O campo nome deve possuir tamanho máximo de 50 caráteres. Erro na Linha: {row}.");
            }

            if (Quantidade <= 0)
            {
                errosAtuais.Add($"O campo quantidade tem que ser maior que zero. Erro na Linha: {row}.");
            }

            if (int.TryParse(Quantidade.ToString(), out _) == false)
            {
                errosAtuais.Add($"A quantidade do produto deve corresponder a um valor inteiro. Erro na Linha: {row}.");
            }

            if (double.TryParse(ValorUnitario.ToString(CultureInfo.InvariantCulture), out _) == false)
            {
                errosAtuais.Add(
                    $"O valor unitário do produto deve corresponder a um valor flutuante (ex: 10,1 ou 10,0). Erro na Linha: {row}.");
            }

            return(errosAtuais);
        }
Пример #12
0
        public void Insert()
        {
            conn.ConnectionString = Properties.Settings.Default.Firebird;
            string sqlIncluir = "INSERT INTO VENDA_COMANDA_ITEM (ID_VENDA_COMANDA, ID_PRODUTO, QUANTIDADE, VALOR_UNITARIO, VALOR_COMPLEMENTO, TOTAL, QTDE_PAGA, OBSERVACAO, ID_FUNCIONARIO, PRODUTO_CODIGO_BARRA)"
                                + " Values('" + IdVendaComanda + "','" + IdProduto + "','" + Quantidade + "','" + ValorUnitario.ToString("F2", CultureInfo.InvariantCulture) + "','" + ValorComplemento + "','" + Total.ToString("F2", CultureInfo.InvariantCulture) + "','" + QuantidadePaga + "','" + Observacao + "','" + IdFuncionario + "','" + ProdutoCodigoBarra + "')";
            FbCommand cmd = new FbCommand(sqlIncluir, conn);

            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }
Пример #13
0
 public ValorUnitario Calcular(FormaDePagamento formaDePagamento, Quantidade quantidade, ValorUnitario valorUnitario, Quantidade?quantidadePromocional = null, ValorUnitario?valorPromocional = null)
 {
     return(0);
 }
Пример #14
0
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F5)
            {
                Quantidade.Show();
                TXTQTDE.Show();
                TXTQTDE.Text = "1";
                ValorUnitario.Show();
                TXTVALORUNITARIO.Show();
                Valor.Show();
                TXTVALOR.Show();
                Total.Show();
                TXTTOTAL.Show();
                PB_foto.Image = Properties.Resources.Passa;
                TXT_PROD.Text = "";
                Descricao.Show();
                TXT_DESC.Show();
                dgDados.Show();
                dgDados.Rows.Clear();
                Valortotal     = 0;
                TXT_TROCO.Text = "R$ 0,00";
                TXT_VLRR.Text  = "R$ 0,00";
                TXT_DESC.Text  = "";

                TXTTOTAL.Text         = "";
                TXTVALOR.Text         = "";
                TXTVALORUNITARIO.Text = "";
            }



            if (e.KeyCode == Keys.F6)
            {
                if (TXTQTDE.Text == "0")
                {
                    MessageBox.Show("Aperte F5 para começar a compra!", "Aviso");
                }
                else
                {
                    if (TXTTOTAL.Text == "")
                    {
                        MessageBox.Show("Passe o produto!", "Aviso");
                    }
                    else
                    {
                        if (DialogResult.Yes == MessageBox.Show("A compra vai ser paga em dinheiro?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                        {
                            valorrecebido.Show();
                            TXT_VLRR.Show();
                            troco.Show();
                            TXT_TROCO.Show();
                            TXT_VLRR.Focus();
                            TXTQTDE.Enabled  = false;
                            TXT_PROD.Enabled = false;
                        }
                        else
                        {
                            //envia bd

                            Conexao comb = new Conexao();

                            comb.sql = "Insert into tb02_cupom (tb02_valor, tb02_data) values ('" + Valortotal + "', now())";


                            comb.open();

                            int lin = comb.Runsql();


                            comb.close();



                            //fim envia bd


                            //MessageBox.Show("Compra terminada!", "Aviso");
                            TXTQTDE.Text          = "0";
                            TXTTOTAL.Text         = "";
                            TXTVALOR.Text         = "";
                            TXTVALORUNITARIO.Text = "";
                            Valortotal            = 0;

                            Quantidade.Hide();
                            TXTQTDE.Hide();
                            ValorUnitario.Hide();
                            TXTVALORUNITARIO.Hide();
                            Valor.Hide();
                            TXTVALOR.Hide();
                            Total.Hide();
                            TXTTOTAL.Hide();
                            PB_foto.Image = Properties.Resources.CL1;
                            Descricao.Hide();
                            TXT_DESC.Hide();
                            dgDados.Hide();
                            dgDados.Rows.Clear();
                            TXT_DESC.Text = "";


                            //mandar os dados pro bd
                        }
                    }
                }
            }



            if (e.KeyCode == Keys.Escape)
            {
                if (TXTQTDE.Text != "0")
                {
                    MessageBox.Show("Sua compra não foi terminada! Cancele ou finalize-a para sair!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    if (DialogResult.Yes == MessageBox.Show("Deseja mesmo sair do sistema?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        this.Dispose();
                    }
                }
            }



            if (e.KeyCode == Keys.F7)
            {
                if (TXTQTDE.Text == "0")
                {
                    MessageBox.Show("Aperte F5 para começar a compra!", "Aviso");
                }
                else
                {
                    if (DialogResult.Yes == MessageBox.Show("Deseja cancelar a compra?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        TXTQTDE.Text          = "0";
                        TXTTOTAL.Text         = "";
                        TXTVALOR.Text         = "";
                        TXTVALORUNITARIO.Text = "";
                        TXT_DESC.Text         = "";
                        TXT_TROCO.Text        = "R$ 0,00";
                        TXT_VLRR.Text         = "R$ 0,00";
                        Quantidade.Hide();
                        TXTQTDE.Hide();
                        ValorUnitario.Hide();
                        TXTVALORUNITARIO.Hide();
                        Valor.Hide();
                        TXTVALOR.Hide();
                        Total.Hide();
                        TXTTOTAL.Hide();
                        PB_foto.Image = Properties.Resources.CL1;
                        Descricao.Hide();
                        TXT_DESC.Hide();
                        dgDados.Hide();
                        dgDados.Rows.Clear();
                        Valortotal = 0;
                    }
                }
            }
        }
Пример #15
0
        private void TXT_VLRR_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                Double vrll = Double.Parse(TXT_VLRR.Text);
                Double trocoo;
                trocoo = vrll - Valortotal;



                System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("pt-BR");


                TXT_VLRR.Text  = string.Format("{0:C}", Convert.ToDouble(vrll));
                TXT_TROCO.Text = string.Format("{0:C}", Convert.ToDouble(trocoo));



                if (trocoo >= 0)
                {
                    //envia bd

                    Conexao comb = new Conexao();

                    comb.sql = "Insert into tb02_cupom (tb02_valor, tb02_data) values ('" + Valortotal + "', now())";


                    comb.open();

                    int lin = comb.Runsql();


                    comb.close();



                    //fim envia bd


                    MessageBox.Show("COMPRA TERMINADA. TROCO: " + TXT_TROCO.Text + "", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    TXTQTDE.Text          = "0";
                    TXTTOTAL.Text         = "";
                    TXTVALOR.Text         = "";
                    TXTVALORUNITARIO.Text = "";
                    TXT_DESC.Text         = "";
                    Valortotal            = 0;

                    Quantidade.Hide();
                    TXTQTDE.Hide();
                    ValorUnitario.Hide();
                    TXTVALORUNITARIO.Hide();
                    Valor.Hide();
                    TXTVALOR.Hide();
                    Total.Hide();
                    TXTTOTAL.Hide();
                    PB_foto.Image = Properties.Resources.CL1;
                    Descricao.Hide();
                    TXT_DESC.Hide();
                    dgDados.Hide();
                    dgDados.Rows.Clear();
                    TXT_DESC.Text = "";
                    valorrecebido.Hide();
                    TXT_VLRR.Hide();
                    troco.Hide();
                    TXT_TROCO.Hide();


                    TXT_TROCO.Text = "R$ 0,00";
                    TXT_VLRR.Text  = "R$ 0,00";


                    TXTQTDE.Enabled  = true;
                    TXT_PROD.Enabled = true;
                    this.TXT_PROD.Focus();
                }
                else
                {
                    MessageBox.Show("O valor recebido é menor que o valor total da compra!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }



            if (e.KeyCode == Keys.F7)
            {
                if (TXTQTDE.Text == "0")
                {
                    MessageBox.Show("Aperte F5 para começar a compra!", "Aviso");
                }
                else
                {
                    if (DialogResult.Yes == MessageBox.Show("Deseja cancelar a compra?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        TXTQTDE.Text          = "0";
                        TXTTOTAL.Text         = "";
                        TXTVALOR.Text         = "";
                        TXTVALORUNITARIO.Text = "";
                        TXT_DESC.Text         = "";
                        TXT_TROCO.Text        = "R$ 0,00";
                        TXT_VLRR.Text         = "R$ 0,00";
                        Quantidade.Hide();
                        TXTQTDE.Hide();
                        ValorUnitario.Hide();
                        TXTVALORUNITARIO.Hide();
                        Valor.Hide();
                        TXTVALOR.Hide();
                        Total.Hide();
                        TXTTOTAL.Hide();
                        PB_foto.Image = Properties.Resources.CL1;
                        Descricao.Hide();
                        TXT_DESC.Hide();
                        dgDados.Hide();
                        dgDados.Rows.Clear();
                        Valortotal = 0;
                    }
                }
            }
        }
Пример #16
0
        public void TestCriarValorUnitario()
        {
            var valorUnitario = new ValorUnitario(10.01M);

            Assert.NotNull(valorUnitario);
        }
Пример #17
0
 public ValorUnitario Calcular(FormaDePagamento formaDePagamento, Quantidade quantidade, ValorUnitario valorUnitario,
                               Quantidade?quantidadePromocional = null, ValorUnitario?valorPromocional = null)
 {
     if (DeveUsarPrecoVendaNormal(formaDePagamento, quantidade, quantidadePromocional))
     {
         return(CalculoPrecoNormal(quantidade, valorUnitario));
     }
     return(CalcularPrecoPromocional(quantidade, valorPromocional));
 }
Пример #18
0
 private ValorUnitario CalculoPrecoNormal(Quantidade quantidade, ValorUnitario valorUnitario)
 {
     return(quantidade * valorUnitario);
 }
Пример #19
0
        private PlugNotasApi Initialize(Invoice invoice)
        {
            var plugNotas = new PlugNotasApi();

            var address = invoice.Order.Customer.Adresses.Where(a => a.Type == AddressType.Billing).FirstOrDefault();

            plugNotas.IdIntegracao    = invoice.Id.ToString();
            plugNotas.Presencial      = true;
            plugNotas.ConsumidorFinal = true;
            plugNotas.Natureza        = invoice.OriginOperation;

            var issuer = new Emitente();

            issuer.CpfCnpj = _configuration["IssuerCnpj"];

            plugNotas.Emitente = issuer;

            var receiver = new Destinatario();

            receiver.CpfCnpj     = invoice.Order.Customer.Cnpj;
            receiver.RazaoSocial = invoice.Order.Customer.CompanyName;
            receiver.Email       = invoice.Order.Customer.Email;

            var receiverAddress = new Endereco();

            receiverAddress.Logradouro      = address.Street;
            receiverAddress.Numero          = address.Number.ToString();
            receiverAddress.Bairro          = address.Neighborhood;
            receiverAddress.CodigoCidade    = address.CodeCity;
            receiverAddress.DescricaoCidade = address.City;
            receiverAddress.Estado          = address.State;
            receiverAddress.Cep             = address.ZipCode;

            receiver.Endereco = receiverAddress;

            plugNotas.Destinatario = receiver;

            var itemsPlugNotas = new List <Iten>();

            foreach (var item in invoice.InvoiceLines)
            {
                var itemPlugNotas = new Iten();

                itemPlugNotas.Codigo    = item.ItemName;
                itemPlugNotas.Descricao = item.ItemName;
                itemPlugNotas.Ncm       = item.NcmCode;
                itemPlugNotas.Cfop      = "5101";

                var unitaryValue = new ValorUnitario();
                unitaryValue.Comercial      = (double)item.UnitaryPrice;
                unitaryValue.Tributavel     = (double)item.UnitaryPrice;
                itemPlugNotas.ValorUnitario = unitaryValue;

                var quantity = new Quantidade();
                quantity.Comercial       = item.Quantity;
                quantity.Tributavel      = item.Quantity;
                itemPlugNotas.Quantidade = quantity;

                var taxes = new Tributos();

                var icms = new Icms();
                icms.Origem = item.OriginIcms;
                icms.Cst    = item.CstIcms;
                var baseCalcIcms = new BaseCalculo();
                baseCalcIcms.ModalidadeDeterminacao = item.DeterminationMode;
                baseCalcIcms.Valor = (double)item.ValueBaseCalcIcms;
                icms.BaseCalculo   = baseCalcIcms;
                icms.Aliquota      = item.AliquotIcms;
                icms.Valor         = (double)item.ValueIcms;
                taxes.Icms         = icms;

                var pis = new Pis();
                pis.Cst = item.CstPis;
                var baseCalcPis = new BaseCalculo();
                baseCalcPis.Valor = (double)item.ValueBaseCalcPis;
                pis.BaseCalculo   = baseCalcPis;
                pis.Aliquota      = item.AliquotPis;
                pis.Valor         = (double)item.ValuePis;
                taxes.Pis         = pis;

                var cofins = new Cofins();
                cofins.Cst = item.CstCofins;
                var baseCalcCofins = new BaseCalculo();
                baseCalcCofins.Valor = (double)item.ValueBaseCalcCofins;
                cofins.BaseCalculo   = baseCalcCofins;
                cofins.Aliquota      = item.AliquotCofins;
                cofins.Valor         = (double)item.ValueCofins;
                taxes.Cofins         = cofins;

                itemPlugNotas.Tributos = taxes;

                itemsPlugNotas.Add(itemPlugNotas);
            }

            plugNotas.Itens = itemsPlugNotas;

            var payments = new List <Pagamento>();

            var payment = new Pagamento();

            payment.AVista = true;
            payment.Meio   = "18";
            payments.Add(payment);

            plugNotas.Pagamentos = payments;

            return(plugNotas);
        }