public async Task <UpdateSchedulerResponse> Handle(UpdateSchedulerCommand request, CancellationToken cancellationToken) { var scheduler = _mapper.Map <Domain.Models.Scheduler>(request); if (scheduler.RoomIsDuplicated) { await _mediator.Publish(new Notification("UpdateSchedulerCommand", $"Há salas duplicadas nesta agenda.")); return(null); } var conflicts = await _schedulerService.GetConflictsRoom(scheduler); var response = new UpdateSchedulerResponse() { Id = request.Id }; if (!conflicts.Any()) { await _schedulerService.UpdateSchedulerAsync(scheduler); } else { response.ConflictsRooms = conflicts; } return(response); }
public async Task <IActionResult> Put(Guid id, [FromBody] UpdateSchedulerCommand request) { request.Id = id; return(await CreateResponse(async() => await _mediator.Send(request))); }