public IActionResult Put(int id, [FromBody] UpdatePublisherDto dto, [FromServices] IUpdatePublisherCommand command) { dto.Id = id; _executor.ExecuteCommand(command, dto); return(StatusCode(StatusCodes.Status204NoContent)); }
public async Task <IActionResult> UpdateAsync([FromRoute] int id, [FromBody] UpdatePublisherDto updateItem, CancellationToken cancellationToken) { if (!await this._publisherService.ExistsAsync(id)) { return(StatusCode(StatusCodes.Status404NotFound)); } if (await this._publisherService.UpdateAsync(id, updateItem, cancellationToken)) { return(StatusCode(StatusCodes.Status200OK)); } return(StatusCode(StatusCodes.Status400BadRequest)); }
public void Execute(UpdatePublisherDto request) { _validator.ValidateAndThrow(request); var publisher = _context.Publishers.Find(Id); if (publisher == null) { throw new EntityNotFOundException(request.Id, typeof(Publisher)); } if (request.Name == null && request.City == null && request.State == null) { request.Name = publisher.Name; request.City = publisher.City; request.State = publisher.State; } if (request.Name == null && request.City != null && request.State != null) { request.Name = publisher.Name; } if (request.Name != null && request.City == null && request.State != null) { request.City = publisher.City; } if (request.Name != null && request.City != null && request.State == null) { request.State = publisher.State; } publisher.Name = request.Name; publisher.State = request.State; publisher.City = request.City; _context.SaveChanges(); }