public async Task <Result <CommandResult> > Handle(CreateCardCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { await PublishValidationErrorsAsync(request); return(Result.Failure <CommandResult>(ApplicationMessages.Create_Failed)); } var project = _mapper.Map <Card>(request); var exist = await _projectRepository.ExistByNameAsync(project.Id, project.Name); if (exist) { await _mediator.Publish(new DomainNotification("", ApplicationMessages.Name_Already_Exist)); return(Result.Failure <CommandResult>(ApplicationMessages.Create_Failed)); } await _projectRepository.CreateAsync(project); return(Result.Success(new CommandResult(project.Id, ApplicationMessages.Create_Success))); }