public async Task <int?> AddUpdateDispositivoUsuario(Dispositivo dispositivo) { try { ICollection <Dispositivo> _dispositivos = null; Notificacao _notificacao = null; int? _result = 0; using (IUnitOfWork _unitOfWork = new TransactionScopeUnitOfWorkFactory(IsolationLevel.Serializable).Create()) { if (dispositivo.Notificacao != null) { var notificacaoId = dispositivo.Notificacao.Count > 0 ? dispositivo.Notificacao.FirstOrDefault().NotificacaoId : 0; if (notificacaoId != 0) { _notificacao = await _notificacaoRepository.GetById(notificacaoId); } } _dispositivos = await _dispositivoRepository.Search(p => p.Serial == dispositivo.Serial, x => x.Notificacao); if (_dispositivos != null && _dispositivos.Count() > 0) { var dispositivoEncontrado = _dispositivos.FirstOrDefault(); if (dispositivoEncontrado != null && !dispositivoEncontrado.Notificacao.Contains(_notificacao)) { dispositivoEncontrado.Notificacao.Add(_notificacao); } _dispositivoRepository.Update(dispositivoEncontrado); _result = _dispositivoRepository.SaveChanges(); } else { new List <Notificacao>().Add(_notificacao); dispositivo.Notificacao.Add(_notificacao); _dispositivoRepository.Add(dispositivo); _result = _dispositivoRepository.SaveChanges(); } _unitOfWork.Commit(); } return(_result); } catch (Exception e) { throw e; } }
public IActionResult Editar(Dispositivo dispositivo) { if (ModelState.IsValid) { _DISREP.Update(dispositivo); return(View("Index", _DISREP.List())); } else { return(View("Editar", dispositivo)); } }
public void Put(int Id, [FromBody] Dispositivo dispositivo) { _DREP.Update(dispositivo); }