예제 #1
0
        public IEnumerable <WeatherForecast> Get()
        {
            QzRunLogMoEntity log = new QzRunLogMoEntity();

            log.TasksQzId    = 2;
            log.AppId        = "应用02";
            log.LogType      = 0;
            log.LogText      = "额是测试";
            log.LogTime      = DateTime.Now.AddHours(8); //默认用UTC 需要中国是东八区要加8小时
            log.Milliseconds = "100毫秒";
            var res     = _mongoRepository.InsertAsync(log).Result;
            var result  = _mongoRepository.GetListAsync().Result;
            var builder = Builders <QzRunLogMoEntity> .Filter;
            var filter  = builder.Where(d => d.LogTime > DateTime.Now.AddHours(-2) && d.LogTime < DateTime.Now);
            var result2 = _mongoRepository.GetAsync(filter).Result;



            //throw new Exception("测试报错");
            var rng = new Random();

            return(Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
                   .ToArray());
        }
        public async Task <bool> AddAsync(QzRunLogEntity log)
        {
            #region mongo
            QzRunLogMoEntity mlog = new QzRunLogMoEntity();
            mlog.AppId        = log.AppId;
            mlog.TasksQzId    = log.TasksQzId;
            mlog.LogText      = log.LogText;
            mlog.LogTime      = log.LogTime?.AddHours(8);
            mlog.Milliseconds = log.Milliseconds;
            mlog.LogType      = (int)log.LogType;
            await _mongoRepository.InsertAsync(mlog);

            #endregion

            var result = false;
            var list   = await _dbContext.QzRunLogs.Where(x => x.TasksQzId == log.TasksQzId && x.AppId == log.AppId).ToListAsync();

            if (list.Count >= _logCount.ObjToInt())
            {
                var oldLog = list.OrderBy(x => x.LogTime).First();
                log.Id = oldLog.Id;
                _dbContext.Update(log);
                var y = await _dbContext.SaveChangesAsync();

                result = y > 0;
                return(result);
            }
            await _dbContext.QzRunLogs.AddAsync(log);

            int x = await _dbContext.SaveChangesAsync();

            result = x > 0;
            return(result);
        }