Exemple #1
0
        public async Task <AddSchedulerResponse> Handle(AddSchedulerCommand request, CancellationToken cancellationToken)
        {
            var scheduler = _mapper.Map <Domain.Models.Scheduler>(request);

            if (scheduler.RoomIsDuplicated)
            {
                await _mediator.Publish(new Notification("AddSchedulerCommand", $"Há salas duplicadas nesta agenda."));

                return(null);
            }

            var conflicts = await _schedulerService.GetConflictsRoom(scheduler);

            return(!conflicts.Any()
                ? new AddSchedulerResponse {
                Id = await _schedulerService.AddSchedulerAsync(scheduler)
            }
                : new AddSchedulerResponse {
                ConflictsRooms = conflicts
            });
        }