Esempio n. 1
0
        public async Task <Category> AddAsync(Category category)
        {
            try
            {
                category = await dbRepository.AddAsync(category);

                busClient.Publish(new CategoryCreated());

                return(category);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.StackTrace);
                throw new Exception($"Failed to create {nameof(Category)}", ex);
            }
        }
Esempio n. 2
0
        public async Task <Tag> AddAsync(Tag Tag)
        {
            try
            {
                Tag = await dbRepository.AddAsync(Tag);

                busClient.Publish(new TagCreated());

                return(Tag);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.StackTrace);
                throw new Exception($"Failed to create {nameof(Tag)}", ex);
            }
        }
        public Task <Unit> Handle(StopJobDto stopJobDto, CancellationToken cancellationToken)
        {
            var jobStoppedMessage = _mapper.Map <JobStoppedMessage>(stopJobDto);

            _client.Publish(jobStoppedMessage);

            return(Task.FromResult(new Unit()));
        }
Esempio n. 4
0
        public void Complete(Job job)
        {
            job.InProgress = true;
            job.Result     = _service.Calculate(job.Precision, job.CancellationTokenSource.Token);
            if (job.CancellationTokenSource.Token.IsCancellationRequested)
            {
                job.Result = "-1";
            }
            var jobCompletedMessage = _mapper.Map <JobCompletedMessage>(job);

            _client.Publish(jobCompletedMessage);
        }
Esempio n. 5
0
        public async Task <string> Handle(CreateJobDto createJobDto, CancellationToken cancellationToken)
        {
            var validator = new CreateJobDtoValidator();
            await validator.ValidateAsync(createJobDto);

            var jobCreatedMessage = _mapper.Map <JobCreatedMessage>(createJobDto);

            jobCreatedMessage.Id = Guid.NewGuid().ToString();

            _client.Publish(jobCreatedMessage);

            return(jobCreatedMessage.Id);
        }
Esempio n. 6
0
 /// <summary>
 /// 发布订阅消息
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="busClient"></param>
 /// <param name="message"></param>
 public static void Publish <T>(this IBusClient busClient, T message) where T : class
 {
     busClient.Publish(message, null);
 }