public ActionResult Create(ReservaSalaViewModel reservaModel)
        {
            var idUsuario    = _usuarioService.RetornLoggedUser((ClaimsIdentity)User.Identity).UsuarioModel.Id;
            var usuarioOrg   = _usuarioOrganizacaoService.GetByIdUsuario(idUsuario).Select((o) => o.OrganizacaoId).ToList();
            var organizacoes = _organizacaoService.GetInList(usuarioOrg);

            var blocos   = _blocoService.GetByIdOrganizacao(organizacoes.FirstOrDefault().Id);
            var salas    = _salaService.GetAllByIdUsuarioOrganizacao(idUsuario);
            var usuarios = _usuarioService.GetByIdOrganizacao(organizacoes.FirstOrDefault().Id);

            ViewBag.organizacoes = new SelectList(organizacoes.Select(s => new OrganizacaoModel {
                Id = s.Id, RazaoSocial = string.Format("{0} | {1}", s.Cnpj, s.RazaoSocial)
            }), "Id", "RazaoSocial");
            ViewBag.usuarios = new SelectList(usuarios.Select(s => new UsuarioModel {
                Id = s.Id, Nome = string.Format("{0} | {1}", s.Cpf, s.Nome)
            }), "Id", "Nome");
            ViewBag.salas = new SelectList(salas.Select(s => new SalaModel {
                Id = s.Id, Titulo = string.Format("{0} | {1}", s.Id, s.Titulo)
            }), "Id", "Titulo");
            ViewBag.blocos = new SelectList(blocos.Select(s => new BlocoModel {
                Id = s.Id, Titulo = string.Format("{0} | {1}", s.Id, s.Titulo)
            }), "Id", "Titulo");
            try
            {
                if (ModelState.IsValid)
                {
                    if (_horarioSalaService.Insert(new HorarioSalaModel
                    {
                        HorarioInicio = reservaModel.HorarioSalaModel.HorarioInicio,
                        HorarioFim = reservaModel.HorarioSalaModel.HorarioFim,
                        SalaId = reservaModel.HorarioSalaModel.SalaId,
                        Situacao = HorarioSalaModel.SITUACAO_APROVADA,
                        Data = reservaModel.HorarioSalaModel.Data,
                        Objetivo = reservaModel.HorarioSalaModel.Objetivo,
                        UsuarioId = idUsuario
                    }))
                    {
                        TempData["mensagemSucesso"] = "Reserva feita com sucesso!";
                        var  hardwareDeSala = _hardwareDeSalaService.GetByIdSalaAndTipoHardware(reservaModel.HorarioSalaModel.SalaId, TipoHardwareModel.CONTROLADOR_DE_SALA).FirstOrDefault();
                        bool atualizou      = _horarioSalaService.SolicitaAtualizacaoHorarioESP(hardwareDeSala.Ip, reservaModel.HorarioSalaModel.Data);
                    }
                    else
                    {
                        TempData["mensagemErro"] = "Houve um problema ao inserir nova reserva, tente novamente em alguns minutos.";
                        return(View(reservaModel));
                    }
                }
            }
            catch (ServiceException se)
            {
                TempData["mensagemErro"] = se.Message;
                return(View(reservaModel));
            }
            return(RedirectToAction(nameof(Index)));
        }
        public ActionResult Post([FromBody] HorarioSalaModel horarioSala)
        {
            try
            {
                if (_service.Insert(horarioSala))
                {
                    return(Ok());
                }

                return(BadRequest());
            }
            catch (ServiceException e)
            {
                return(StatusCode(500, e.Message));
            }
        }