コード例 #1
0
        public void DoWork(IEnumerable <JObject> data)
        {
            DateTime date    = GetRandomDate();
            string   address = GetRandomAddress();
            int      count   = 0;

            foreach (JObject obj in data)
            {
                string   objAddress    = (string)obj.Property("address").Value;
                string   objDateString = (string)obj.Property("date").Value;
                DateTime objDateTime   = DateTime.Parse(objDateString);

                if (objAddress.Contains(address) && objDateTime.CompareTo(date) > 0)
                {
                    ++count;
                }
            }

            AddressCount addressCount = new AddressCount
            {
                Count   = count,
                Address = address,
                Date    = date.ToString("dd-MM-yyyy HH:mm")
            };

            this.addressCountRepository.InsertAddressCount(addressCount);
            mqttService.PublishMessage("address", JsonConvert.SerializeObject(addressCount));
        }
コード例 #2
0
        public async Task <bool> UpdateAddressCount(AddressCount addressCount)
        {
            var filter = Builders <AddressCount> .Filter.Eq("_id", addressCount.Id);

            ReplaceOneResult result = await _context.AddressCounts.ReplaceOneAsync(filter, addressCount);

            return(result.IsAcknowledged);
        }
コード例 #3
0
 public IActionResult Post([FromBody] AddressCount addressCount)
 {
     using (var scope = new TransactionScope())
     {
         addressCountRepository.InsertAddressCount(addressCount);
         scope.Complete();
         return(CreatedAtAction(nameof(Get), addressCount));
     };
 }
コード例 #4
0
 public async Task InsertAddressCount(AddressCount addressCount)
 {
     try
     {
         await _context.AddressCounts.InsertOneAsync(addressCount);
     }
     catch (Exception ex)
     {
         // log or manage the exception
         throw ex;
     }
 }
コード例 #5
0
        public async Task <IActionResult> Put([FromBody] AddressCount addressCount)
        {
            if (addressCount != null)
            {
                using (var scope = new TransactionScope())
                {
                    bool success = await addressCountRepository.UpdateAddressCount(addressCount);

                    scope.Complete();
                    if (success)
                    {
                        return(new OkResult());
                    }
                    return(BadRequest());
                }
            }
            return(new NoContentResult());
        }