public async Task <xItem> UpdateAsync(xItem item)
        {
            item.IncrementCount();
            await _repository.UpdateAsync(item);

            return(item);
        }
示例#2
0
        public void DoWork(xItem item)
        {
            _logger.LogInformation($"Item worked: item {item.Item}");

            item.UpdateStatus("locked");

            //NOTE: these two methods should be refactored into one using rabbitmq exchange with fanout,
            //currently implemented only as rabbitmq direct msg queue
            _busClient.PublishAsync(new ItemStatusUpdated1(
                                        item.Id,
                                        item.Item,
                                        item.Status,
                                        item.Count
                                        ));
            _busClient.PublishAsync(new ItemStatusUpdated2(
                                        item.Id,
                                        item.Item,
                                        item.Status,
                                        item.Count
                                        ));
        }
示例#3
0
 public async Task ProcessAsync(xItem item)
 {
     BackgroundJob.Schedule(() =>
                            DoWork(item),
                            TimeSpan.FromMinutes(1));
 }
 public async Task UpdateAsync(xItem item)
 => await Collection.UpdateOneAsync(
     Builders <xItem> .Filter.Eq(s => s.Id, item.Id),
     Builders <xItem> .Update
     .Set("Count", item.Count)
     .Set("Status", item.Status));
 public async Task AddAsync(xItem item)
 => await Collection.InsertOneAsync(item);
 public async Task AddAsync(Guid id, string item, string status, int count)
 {
     var xItem = new xItem(id, item, "open", 1);
     await _repository.AddAsync(xItem);
 }