Пример #1
0
 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}");
         }
     }
 }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }