public void Execute(UpdateWriterDto request) { _validator.ValidateAndThrow(request); var writer = _context.Writers.Find(request.Id); if (writer == null) { throw new EntityNotFoundException(request.Id, typeof(Writer)); } if (request.FirstName == null && request.LastName == null) { request.FirstName = writer.FirstName; request.LastName = writer.LastName; } if (request.FirstName == null && request.LastName != null) { request.FirstName = writer.FirstName; } if (request.FirstName != null && request.LastName == null) { request.LastName = writer.LastName; } var oscars = writer.Oscars; writer.LastName = request.LastName; writer.FirstName = request.FirstName; writer.Fullname = request.FullName; writer.Oscars = request.Oscars ?? oscars; _context.SaveChanges(); }
public IActionResult Put(int id, [FromBody] UpdateWriterDto dto, [FromServices] IUpdateWriterCommand command) { dto.Id = id; _executor.ExecuteCommand(command, dto); return(StatusCode(StatusCodes.Status204NoContent)); }