Esempio n. 1
0
        private void btn_delete_produto_selecionar_Click(object sender, EventArgs e)
        {
            if (resultado_produtos_grid.DataSource != null)
            {
                var lista = (List <ListarProdutoDto>)resultado_produtos_grid.DataSource;
                if (resultado_produtos_grid.SelectedRows.Count == 1)
                {
                    var id = (int)resultado_produtos_grid.SelectedRows[0].Cells[0].Value;

                    var produto = lista.FirstOrDefault(c => c.Codigo == id);

                    lista.Remove(produto);
                }

                var consumo = _instanciarConsumoService.RecuperarConsumo(txt_comanda.Text);
                if (consumo != null)
                {
                    consumo.Lancamentos = lista.Select(c => new Dominio.Lancamentos.Lancamento
                    {
                        CodigoDaComanda  = txt_comanda.Text,
                        ConsumoId        = consumo.Id,
                        ProdutoId        = c.Codigo,
                        DataDeLancamento = DateTime.Now
                    }).ToList();

                    _consumoRepositorio.Salvar();
                }

                GridProdutosHelper.MontarGridProdutosReduzida(resultado_produtos_grid, lista);
            }
        }
        private void btn_adicionar_produto_comanda_Click(object sender, System.EventArgs e)
        {
            if (string.IsNullOrEmpty(txt_comanda.Text))
            {
                MetroMessageBox.Show(this, "Entre com o código da comanda primeiro!", "Erro",
                                     MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                var consumo = _instanciarConsumoService.RecuperarConsumo(txt_comanda.Text);
                lb_status_comanda.Text      = ((SituacaoConsumoEnum)consumo.Situacao).ToString();
                lb_status_comanda.ForeColor = consumo.Situacao == SituacaoConsumoEnum.Aberto.GetHashCode() ?
                                              Color.Green :
                                              Color.Red;
                if (selecionar_produtos_grid.SelectedRows.Count == 1)
                {
                    var produto = _produtoRepositorio
                                  .ObtemPorId((int)selecionar_produtos_grid.SelectedRows[0].Cells[0].Value);

                    if (int.TryParse(txt_qtd.Text, out var qtd))
                    {
                        for (int i = 0; i < qtd; i++)
                        {
                            consumo.Lancamentos.Add(new Dominio.Lancamentos.Lancamento
                            {
                                ProdutoId        = produto.Id,
                                CodigoDaComanda  = consumo.CodigoDaComanda,
                                DataDeLancamento = DateTime.Now
                            });
                        }
                    }
                    else
                    {
                        consumo.Lancamentos.Add(new Dominio.Lancamentos.Lancamento
                        {
                            ProdutoId        = produto.Id,
                            CodigoDaComanda  = consumo.CodigoDaComanda,
                            DataDeLancamento = DateTime.Now
                        });
                    }

                    _consumoRepositorio.Salvar();
                }

                GridProdutosHelper.MontarGridProdutosReduzida(resultado_produtos_grid,
                                                              consumo.Lancamentos.Select(l => new ListarProdutoDto
                {
                    Codigo         = l.Produto.Id,
                    DataDeCadastro = l.Produto.DataDeCadastro.ToString("dd/MM/yyy"),
                    Descricao      = l.Produto.Descricao,
                    Nome           = l.Produto.Nome,
                    Valor          = l.Produto.Valor
                }).ToList());
            }
        }