public void DarBaixa(PedidoDao pedidoDao)
        {
            try
            {
                Pedido pedido;

                ValidarDarBaixa(pedidoDao, out pedido);

                // pedido produto
                var pedidoProduto = pedido.PedidoProduto.FirstOrDefault(x => x.ProdutoID == pedidoDao.PedidoProdutoDao.FirstOrDefault().ProdutoID);
                pedidoProduto.DataBaixa      = pedidoDao.PedidoProdutoDao.FirstOrDefault().DataBaixa;
                pedidoProduto.UsuarioBaixaID = pedidoDao.PedidoProdutoDao.FirstOrDefault().UsuarioBaixaDao.UsuarioID;

                // se não há data de entrega cadastrada, a data e usuário da baixa são iguais a da data e usuario da entrega
                if (pedidoProduto.DataEntrega == null || pedidoProduto.DataEntrega == DateTime.MinValue)
                {
                    pedidoProduto.DataEntrega      = pedidoDao.PedidoProdutoDao.FirstOrDefault().DataBaixa;
                    pedidoProduto.UsuarioEntregaID = pedidoDao.PedidoProdutoDao.FirstOrDefault().UsuarioBaixaDao.UsuarioID;
                }

                // loja saída
                var ls = pedido.LojaSaida.LojaProduto.FirstOrDefault(x => x.ProdutoID == pedidoProduto.ProdutoID && x.LojaID == pedidoDao.LojaSaidaDao.FirstOrDefault().LojaID);
                if (ls == null)
                {
                    throw new BusinessException($"Produto {pedidoProduto.ProdutoID} não cadastrado na loja {pedidoDao.LojaSaidaDao.FirstOrDefault().LojaID}");
                }

                ls.Quantidade = Convert.ToInt16(ls.Quantidade - pedidoProduto.Quantidade);

                pedidoRepository.DarBaixa(pedido, pedidoDao.PedidoStatusDao.FirstOrDefault().PedidoStatusID);
            }
            catch (BusinessException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                logRepository.Incluir(new Log()
                {
                    Descricao = ex.ToString(), DataHora = DateTime.Now
                });

                throw ex;
            }
        }