public ActionResult Create(SalaAuxModel salaModel) { var usuario = _usuarioService.RetornLoggedUser((ClaimsIdentity)User.Identity); ViewBag.Organizacoes = _organizacaoService.GetByIdUsuario(usuario.UsuarioModel.Id); ViewBag.BlocoList = _blocoService.GetByIdOrganizacao(salaModel.OrganizacaoId); ViewBag.TipoHardware = _tipoHardwareService.GetAll(); try { if (ModelState.IsValid) { if (_salaService.InsertSalaWithHardwares(salaModel, usuario.UsuarioModel.Id)) { TempData["mensagemSucesso"] = "Sala inserida com sucesso!"; return(View()); } else { TempData["mensagemErro"] = "Houve um problema ao inserir sala!"; } } } catch (ServiceException se) { TempData["mensagemErro"] = se.Message; } return(View(salaModel)); }
public ActionResult Edit(int id, SalaAuxModel salaModel) { ViewBag.BlocoList = _blocoService.GetByIdOrganizacao(salaModel.OrganizacaoId); ViewBag.Organizacoes = _organizacaoService.GetByIdUsuario(_usuarioService.RetornLoggedUser((ClaimsIdentity)User.Identity).UsuarioModel.Id); try { if (ModelState.IsValid) { if (_salaService.Update(new SalaModel { Id = salaModel.Sala.Id, BlocoId = salaModel.Sala.BlocoId, Titulo = salaModel.Sala.Titulo })) { TempData["mensagemSucesso"] = "Sala atualizada com sucesso!"; } else { TempData["mensagemErro"] = "Houve um problema ao atualizar sala, tente novamente em alguns minutos!"; } } } catch (ServiceException se) { TempData["mensagemErro"] = se.Message; } return(View(salaModel)); }
public bool InsertSalaWithHardwares(SalaAuxModel sala, int idUsuario) { using (var transaction = _context.Database.BeginTransaction()) { try { var salaInserida = Insert(new SalaModel { Id = sala.Sala.Id, Titulo = sala.Sala.Titulo, BlocoId = sala.Sala.BlocoId }); if (salaInserida == null) { throw new ServiceException("Houve um problema ao cadastrar sala, tente novamente em alguns minutos!"); } var _monitoramentoService = new MonitoramentoService(_context); _monitoramentoService.Insert(new MonitoramentoModel { Luzes = false, ArCondicionado = false, SalaId = salaInserida.Id }); if (sala.HardwaresSala.Count > 0) { var _hardwareDeSalaService = new HardwareDeSalaService(_context); foreach (var item in sala.HardwaresSala) { if (_hardwareDeSalaService.GetByMAC(item.MAC, idUsuario) != null) { throw new ServiceException("Já existe um dispositivos com o endereço MAC " + item.MAC + " informado, corrija e tente novamente!"); } if (item.TipoHardwareId.Id == TipoHardwareModel.CONTROLADOR_DE_SALA && _hardwareDeSalaService.GetByIp(item.Ip, idUsuario) != null) { throw new ServiceException("Já existe um dispositivos com o endereço IP " + item.Ip + " informado, corrija e tente novamente!"); } _hardwareDeSalaService.Insert(new HardwareDeSalaModel { MAC = item.MAC, SalaId = salaInserida.Id, TipoHardwareId = item.TipoHardwareId.Id, Ip = item.Ip }, idUsuario); } transaction.Commit(); return(true); } } catch (Exception) { transaction.Rollback(); throw; } } return(true); }