public Category Update(UpdateCmd command) { Category result = null; if (command.IsValid()) { result = _categoryRepository.GetById(command.Id); if (!_categoryRepository.Notification.HasNotifications) { command.Apply(ref result); _categoryRepository.Add(result); } if (_categoryRepository.Notification.HasNotifications) { Notification.AddNotifications(_categoryRepository.Notification.Notifications); } } else { command.Undo(ref result); Notification.AddNotifications(command.Validation); } return(result); }
public async Task <IActionResult> PutMovie(Guid id, UpdateCmd comando) { if (id != comando.Id) { return(BadRequest()); } //_context.Entry(movie).State = EntityState.Modified; try { this._notificationContext.Clear(); if (!comando.IsValid()) { this._notificationContext.AddNotifications(comando.ValidationResult); return(CreatedAtAction("GetMovie", comando)); } //await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MovieExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }