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)); }
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); }
public IActionResult Post([FromBody] AddressCount addressCount) { using (var scope = new TransactionScope()) { addressCountRepository.InsertAddressCount(addressCount); scope.Complete(); return(CreatedAtAction(nameof(Get), addressCount)); }; }
public async Task InsertAddressCount(AddressCount addressCount) { try { await _context.AddressCounts.InsertOneAsync(addressCount); } catch (Exception ex) { // log or manage the exception throw ex; } }
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()); }