private void btnConcluirVenda_Click(object sender, EventArgs e)
        {
            if (DialogMessage.MessageFullQuestion("Deseja confirmar essa forma de pagamento " + cbbTipoDePagamento.Text.ToUpper(), "Aviso") == DialogResult.Yes)
            {
                try
                {
                    InstanciarVendaRepositorio();
                    InstanciaCaixaRepositorio();
                    InstanciarProdutoRepositorio();
                    InstanciarEstoqueRepositorio();

                    if (_vendaRepositorio.Cadastrar(PopularVenda()) == Sucesso)
                    {
                        InserirVendaNoCaixaConcluirVendaDinheiro();
                        CocluirVendaCreditar();
                        ConcluirVendaComCartao();
                        if (totalParaAutalizar <= 0.4M)
                        {
                            this.DialogResult = DialogResult.Yes;
                            DarBaixaNoEstoque();
                        }
                    }
                }
                catch (CustomException erro)
                {
                    DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso");
                    FocarNotxt();
                }
                catch (Exception erro)
                {
                    SaveErroInTxt.RecordInTxt(erro, this.GetType().Name);
                    DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro");
                }
            }
        }
예제 #2
0
        private Venda GravarVenda(long idCliente, List <PreVenda> preVendas)
        {
            var venda = new Venda
            {
                Cliente   = ClienteAplicacao.BuscarClientePorId(idCliente),
                DataVenda = DateTime.Now,
                IdUsuario = AutenticacaoAplicacao.ObterUsuarioLogado().Id,
                QtdItem   = RetornaQtdTotalVenda(preVendas.Select(d => d.Quantidade).ToList()),
                Valor     = RetornaValorTotalVenda(preVendas)
            };

            VendaRepositorio.Cadastrar(venda);
            GravarItemVenda(preVendas, venda);
            preVendas.ForEach(d => d.Venda = venda);
            preVendas.ForEach(d => PreVendaRepositorio.Atualizar(d));
            return(venda);
        }
예제 #3
0
        private void btnConcluirVenda_Click(object sender, EventArgs e)
        {
            if (DialogMessage.MessageFullQuestion("Deseja confirmar essa forma de pagamento " + cbbTipoDePagamento.Text.ToUpper(), "Aviso") == DialogResult.Yes)
            {
                try
                {
                    InstanciarVendaRepositorio();
                    InstanciaCaixaRepositorio();
                    InstanciarProdutoRepositorio();
                    InstanciarEstoqueRepositorio();

                    if (_vendaRepositorio.Cadastrar(PopularVenda()) == Sucesso)
                    {
                        InstanciarMovimentacaoProdutoRepositorio();
                        DarBaixaNoEstoque();
                        InserirVendaNoCaixa();
                        if (cbbTipoDePagamento.Text == EnumTipoPagamento.Creditar.ToString())
                        {
                            if (ConcluirVendaComCreditar() == false)
                            {
                                _vendaRepositorio.ExcluirUltimaVenda();
                                DialogMessage.MessageFullComButtonOkIconeDeInformacao("Para concluir a venda no modo CREDITAR é necessário selecionar o cliente.", "Aviso");
                            }
                        }
                        ConcluirVendaComCartao();
                    }
                }
                catch (CustomException erro)
                {
                    DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso");
                }
                catch (Exception erro)
                {
                    DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro");
                }
            }
        }