public List <Venda> GetAll()
        {
            try
            {
                var _vendas              = new List <Venda>();
                var _clienteRepository   = new ClienteRepository();
                var _usuarioRepository   = new UsuarioRepository();
                var _mesaRepository      = new MesaRepository();
                var _vendaItemRepository = new VendaItemRepository();

                var _conn = new SqlConnection(_connectionString);

                var _cmdText = " SELECT " +
                               "  VEN_ID, " +
                               "  VEN_CLI_ID, " +
                               "  VEN_DTA_CADASTRO, " +
                               "  VEN_DTA_FATURAMENTO, " +
                               "  VEN_STATUS, " +
                               "  VEN_VALOR, " +
                               "  VEN_MESA_ID, " +
                               "  VEN_USR_ID " +
                               " FROM VENDAS " +
                               " ORDER BY VEN_DTA_CADASTRO ";

                var _cmd = new SqlCommand(_cmdText, _conn);

                var _dt = new DataTable();

                _conn.Open();
                _dt.Load(_cmd.ExecuteReader());
                _conn.Close();

                foreach (DataRow _row in _dt.Rows)
                {
                    var _venda = new Venda();

                    _venda.VendaId         = Convert.ToInt32(_row["VEN_ID"]);
                    _venda.Cliente         = _clienteRepository.GetItem(Convert.ToInt32(_row["VEN_CLI_ID"]));
                    _venda.DataCadastro    = Convert.ToDateTime(_row["VEN_DTA_CADASTRO"]);
                    _venda.DataFaturamento = Convert.ToDateTime(_row["VEN_DTA_FATURAMENTO"]);
                    _venda.Status          = (VendaStatus)Convert.ToInt32(_row["VEN_STATUS"]);
                    _venda.Valor           = Convert.ToDecimal(_row["VEN_VALOR"]);
                    _venda.Mesa            = _mesaRepository.GetItem(Convert.ToInt32(_row["VEN_MESA_ID"]));
                    _venda.Usuario         = _usuarioRepository.GetItem(Convert.ToInt32(_row["VEN_USR_ID"]));

                    _venda.Itens = _vendaItemRepository.RetornarTodosPorVendaId(_venda.VendaId);

                    _vendas.Add(_venda);
                }

                return(_vendas);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public Venda RetornarVendaPorMesaId(int mesaId, VendaStatus vendaStatus)
        {
            if (mesaId <= 0)
            {
                throw new Exception("O parâmetro mesaId deve ser um número inteiro positivo!");
            }

            try
            {
                var _clienteRepository   = new ClienteRepository();
                var _usuarioRepository   = new UsuarioRepository();
                var _mesaRepository      = new MesaRepository();
                var _vendaItemRepository = new VendaItemRepository();

                var _conn = new SqlConnection(_connectionString);

                var _cmdText = " SELECT " +
                               "  VEN_ID, " +
                               "  VEN_CLI_ID, " +
                               "  VEN_DTA_CADASTRO, " +
                               "  VEN_DTA_FATURAMENTO, " +
                               "  VEN_STATUS, " +
                               "  VEN_VALOR, " +
                               "  VEN_MESA_ID, " +
                               "  VEN_USR_ID " +
                               " FROM VENDAS " +
                               " WHERE VEN_MESA_ID = @VEN_MESA_ID " +
                               " AND VEN_STATUS = @VEN_STATUS ";

                var _cmd = new SqlCommand(_cmdText, _conn);

                _cmd.Parameters.AddWithValue("@VEN_MESA_ID", mesaId);
                _cmd.Parameters.AddWithValue("@VEN_STATUS", vendaStatus);

                var _dt = new DataTable();

                _conn.Open();
                _dt.Load(_cmd.ExecuteReader());
                _conn.Close();

                var _venda = new Venda();

                if (_dt.Rows.Count > 0)
                {
                    _venda.VendaId         = Convert.ToInt32(_dt.Rows[0]["VEN_ID"]);
                    _venda.Cliente         = _clienteRepository.GetItem(Convert.ToInt32(_dt.Rows[0]["VEN_CLI_ID"]));
                    _venda.DataCadastro    = Convert.ToDateTime(_dt.Rows[0]["VEN_DTA_CADASTRO"]);
                    _venda.DataFaturamento = Convert.ToDateTime(_dt.Rows[0]["VEN_DTA_FATURAMENTO"]);
                    _venda.Status          = (VendaStatus)Convert.ToInt32(_dt.Rows[0]["VEN_STATUS"]);
                    _venda.Valor           = Convert.ToDecimal(_dt.Rows[0]["VEN_VALOR"]);
                    _venda.Mesa            = _mesaRepository.GetItem(Convert.ToInt32(_dt.Rows[0]["VEN_MESA_ID"]));
                    _venda.Usuario         = _usuarioRepository.GetItem(Convert.ToInt32(_dt.Rows[0]["VEN_USR_ID"]));

                    _venda.Itens = _vendaItemRepository.RetornarTodosPorVendaId(_venda.VendaId);
                }

                return(_venda);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }