public async Task <IActionResult> Create([Bind("Id_Dispositivo,Nome_Dispositivo,Status_Dispositivo,nome_ambiente")] DispositivoDTO dispositivo) { if (ModelState.IsValid) { Ambiente ambiente = _context.Ambientes.Include(a => a.Usuario).Include(a => a.Usuario.Plano_Usuario).Where(_ => _.Nome_Ambiente.Equals(dispositivo.nome_ambiente)).FirstOrDefault(); //Cadastrando Dispositivo. dispositivo.Data_Cadastro_Dispositivo = DateTime.Now; dispositivo.Ambiente = ambiente; var dispositivoFinal = _mapper.Map(dispositivo, new Dispositivo()); _context.Add(dispositivoFinal); await _context.SaveChangesAsync(); if (ambiente != null) { //Atualizando quantidade dispositivos no ambiente. ambiente.Qtda_Dispositivo_Ambiente++; ambiente.Dispositivos_Ambiente.Add(dispositivoFinal); _context.Update(ambiente); _context.SaveChanges(); } return(RedirectToAction(nameof(Index))); } return(View(dispositivo)); }
public async Task <IActionResult> Edit(int id, [Bind("Id_Dispositivo,Nome_Dispositivo,Status_Dispositivo,nome_ambiente")] DispositivoDTO dispositivo) { if (id != dispositivo.Id_Dispositivo) { return(NotFound()); } if (ModelState.IsValid) { try { Ambiente ambiente = _context.Ambientes.Include(a => a.Usuario).Include(a => a.Usuario.Plano_Usuario).Where(_ => _.Nome_Ambiente.Equals(dispositivo.nome_ambiente)).FirstOrDefault(); dispositivo.Ambiente = ambiente; dispositivo.Data_Cadastro_Dispositivo = DateTime.Now; var dispositivoFinal = _mapper.Map(dispositivo, new Dispositivo()); _context.Update(dispositivoFinal); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DispositivoExists(dispositivo.Id_Dispositivo)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(dispositivo)); }