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)); } }