public List <SolicitacaoTroca> ConsultarTodos()
        {
            List <SolicitacaoTroca> lista = new List <SolicitacaoTroca>();

            Sql.Clear();

            Sql.Append("SELECT st.*, cli.Nome DescCliente FROM solicitacoestroca st join clientes cli on st.idcliente = cli.Id WHERE st.status = 0");

            using (var reader = DbContext.ExecuteReader(Sql.ToString()))
            {
                while (reader.Read())
                {
                    SolicitacaoTroca st = new SolicitacaoTroca
                    {
                        Id          = Convert.ToInt32(reader["Id"]),
                        Descricao   = Convert.ToString(reader["Descricao"]),
                        Data        = Convert.ToDateTime(reader["Data"]),
                        Status      = Convert.ToInt32(reader["Status"]),
                        IdCliente   = Convert.ToInt32(reader["IdCliente"]),
                        DescCliente = Convert.ToString(reader["DescCliente"]),
                        IdPedido    = Convert.ToInt32(reader["IdPedido"])
                    };

                    lista.Add(st);
                }
            }

            return(lista);
        }
        public ActionResult Reprovar(string MotivoReprova, int IdSolicitacao)
        {
            try
            {
                //Expressão Lambda desmontada para facilitar debug
                SolicitacaoTrocaDao dao     = new SolicitacaoTrocaDao();
                int pedidoId                = 0;
                SolicitacaoTroca        sol = new SolicitacaoTroca();
                List <SolicitacaoTroca> listaSolicitacoes = new List <SolicitacaoTroca>();
                listaSolicitacoes = dao.ConsultarTodos();
                sol      = listaSolicitacoes.Find(x => x.Id == IdSolicitacao);
                pedidoId = sol.IdPedido;

                dao.Reprovar(IdSolicitacao, MotivoReprova);

                new ProcedimentoTrocaStatus().TrocaNaoAutorizada(pedidoId);

                return(RedirectToAction("Index", "Usuarios"));
            }catch (Exception ex)
            {
                return(View("Error"));
            }
        }