public IHttpActionResult GetPorFiltro([FromUri] string dataDe, [FromUri] string dataAte, [FromUri] int tipo,
                                              [FromUri] int idLocal, [FromUri] int idCategoria, [FromUri] string obs)
        {
            EntidadesResponse <ReservaTO> response = new EntidadesResponse <ReservaTO>();

            try
            {
                DateTime?dateTimeDe = null, dateTimeAte = null;
                if (dataDe != null && dataDe.Length > 0)
                {
                    dateTimeDe = DateTime.ParseExact(dataDe, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                if (dataAte != null && dataAte.Length > 0)
                {
                    dateTimeAte = DateTime.ParseExact(dataAte, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }

                List <Reserva> reservas = Reserva.ConsultarPorFiltro(dateTimeDe, dateTimeAte, tipo, idLocal, idCategoria, obs);

                foreach (Reserva r in reservas)
                {
                    ReservaTO rTO = new ReservaTO();
                    rTO.Id                = r.Id;
                    rTO.Data              = r.Data.ToString("dd/MM/yyyy");
                    rTO.Horario           = r.Horario;
                    rTO.Turno             = r.Turno;
                    rTO.Obs               = r.Obs;
                    rTO.ReservadoEm       = r.ReservadoEm.ToString("dd/MM/yyyy HH:mm");
                    rTO.IdLocal           = r.Local.Id;
                    rTO.NomeLocal         = r.Local.Nome;
                    rTO.IdUsuario         = r.Usuario.Id;
                    rTO.NomeUsuario       = r.Usuario.Nome;
                    rTO.EmailUsuario      = r.Usuario.Email;
                    rTO.ComentarioUsuario = r.ComentarioUsuario;
                    rTO.Satisfacao        = r.Satisfacao.HasValue ? r.Satisfacao.Value : 0;
                    rTO.ExibeAvaliacao    = DateTime.Now > r.Data;
                    rTO.Equipamentos      = new List <string>();
                    rTO.IdEquipamentos    = new List <int>();
                    foreach (CategoriaEquipamento ce in r.CategoriasEquipamentos)
                    {
                        rTO.IdEquipamentos.Add(ce.Id);
                        rTO.Equipamentos.Add(ce.Nome);
                    }

                    response.Elementos.Add(rTO);
                }
            }
            catch (EntidadesException eex)
            {
                response.Status   = (int)eex.Codigo;
                response.Detalhes = eex.Message;
            }
            catch (Exception ex)
            {
                response.Status   = -1;
                response.Detalhes = ex.Message;
            }
            return(Ok(response));
        }