Exemple #1
0
        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);
        }
Exemple #2
0
 public async Task <IActionResult> Put(Guid id, [FromBody] UpdateSchedulerCommand request)
 {
     request.Id = id;
     return(await CreateResponse(async() => await _mediator.Send(request)));
 }