public void Execute(IJobExecutionContext context) { Log4netLogger.Info(MethodBase.GetCurrentMethod().DeclaringType, $"{nameof(HeartbeatFeeder)}: {DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff")} UTC"); for (int i = 0; i < FeederHandler.Instance.ImeiList.Count; i++) { try { string currentImei = FeederHandler.Instance.ImeiList[i]; string LastHbUtcStr = FeederHandler.Instance.Connector.StringGet($"Product_{currentImei}_Heartbeat"); DateTime LastHbUtc; if (DateTime.TryParse(LastHbUtcStr, out LastHbUtc)) { using (RedisStressContext ctx = new RedisStressContext()) { var prod = ctx.Products.Where(p => p.Imei == currentImei).FirstOrDefault(); if (prod != null) { prod.LastHbUtc = LastHbUtc; ctx.SaveChanges(); } } } } catch (Exception ex) { Log4netLogger.Error(MethodBase.GetCurrentMethod().DeclaringType, $"Exception in loop #{i}: {ex}"); } } }
public static ProductDto AddProductReturnDto(string Imei) { Product p = new Product() { Imei = Imei, State = 1 }; using (RedisStressContext ctx = new RedisStressContext()) { ctx.Products.Add(p); ctx.SaveChanges(); } return(AutoMapper.Mapper.Map <ProductDto>(p)); }
public static long AddProductReturnId(string Imei) { Product p = new Product() { Imei = Imei, State = 1 }; using (RedisStressContext ctx = new RedisStressContext()) { ctx.Products.Add(p); ctx.SaveChanges(); } return(p.Id); }