Пример #1
0
        private void btnVender_Click(object sender, RoutedEventArgs e)
        {
            //Pega os itens da venda e efetiva
            if (lstVendas.SelectedItem == null)
            {
                MessageBox.Show("Selecione um item");
                return;
            }

            var venda = (Venda)lstVendas.SelectedItem;

            if (venda.Status != eStatusDaVenda.NOVA)
            {
                MessageBox.Show("Essa venda já foi efetivada!");
                return;
            }
            if (venda.ItensDaVenda.Count == 0)
            {
                MessageBox.Show("Nenhum item a ser vendado nessa solicitação de venda.");
                return;
            }
            if (venda.Cliente == null)
            {
                MessageBox.Show("Precisar existir um cliente para efetivar a venda.");
                return;
            }
            var itensDaVenda         = obtenhaListaDeItensDaVenda(venda);
            var repositorioDeProduto = new RepositorioProduto();

            foreach (var item in itensDaVenda)
            {
                var produtoDaVenda = item.Produto;
                var produtoBanco   = repositorioDeProduto.Consultar(produtoDaVenda.Codigo);
                produtoBanco.QuantidadeEmEstoque -= item.Quantidade;
                repositorioDeProduto.Atualize(produtoBanco);
            }

            //Salva no banco
            venda.Status           = eStatusDaVenda.EFETIVADA;
            venda.DataDeEfetivacao = DateTime.Now;
            repositorio.Atualize(venda);
            CarregueElementosDoBancoDeDados();
        }
        private void btnCompraRecebida_Click(object sender, RoutedEventArgs e)
        {
            //Adicionar no estoque
            if (lstCompras.SelectedItem == null)
            {
                MessageBox.Show("Selecione um item");
                return;
            }

            var compra = (Compra)lstCompras.SelectedItem;

            if (compra.Status != eStatusDaCompra.EFETIVADA)
            {
                MessageBox.Show("Essa compra precisa estar efetivada!");
                return;
            }
            if (compra.ItensDaCompra.Count == 0)
            {
                MessageBox.Show("Nenhum item a ser comprado nessa solicitação de compra.");
                return;
            }
            //adicionar no estoque
            var itensDaCompra        = obtenhaListaDeItensDaCompra(compra);
            var repositorioDeProduto = new RepositorioProduto();

            foreach (var item in itensDaCompra)
            {
                var produtoDacompra = item.Produto;
                var produtoBanco    = repositorioDeProduto.Consultar(produtoDacompra.Codigo);
                produtoBanco.QuantidadeEmEstoque += item.Quantidade;
                repositorioDeProduto.Atualize(produtoBanco);
            }

            //ataulizar banco de daos
            compra.Status            = eStatusDaCompra.RECEBIDA;
            compra.DataDoRecebimento = DateTime.Now;
            repositorio.Atualize(compra);
            CarregueElementosDoBancoDeDados();
        }
        private void btnCompraRecebida_Click(object sender, RoutedEventArgs e)
        {
            if (lstCompras.SelectedItem == null)
            {
                MessageBox.Show("Selecione um item");
                return;
            }
            var compra = (Compra)lstCompras.SelectedItem;

            var itemDaCompra       = ObtenhaListaDeItemDaCompra(compra);// Adicionar no estoque
            var repositorioProduto = new RepositorioProduto();

            foreach (var item in itemDaCompra)
            {
                var produtoDaCompra = item.Produto;
                var produtoDoBanco  = repositorioProduto.Consultar(produtoDaCompra.Codigo);

                produtoDoBanco.QuantidadeEmEstoque += item.Quantidade;
                repositorioProduto.Atualizar(produtoDoBanco);
                CarregueElementosDoBancoDeDados();
            }

            if (compra.Status == eStatusDaCompra.EFETIVADA) // Atualizar o Banco de Dados
            {
                compra.Status            = eStatusDaCompra.RECEBIDA;
                compra.DataDeRecebimento = DateTime.Now;
                repositorioCompra.Atualizar(compra);
                CarregueElementosDoBancoDeDados();
                MessageBox.Show("Compra recebida com sucesso");
                return;
            }
            else
            {
                MessageBox.Show("Essa compra já foi recebida");
                return;
            }
        }