Beispiel #1
0
        public ActionResult <int> Add([FromForm] FeedbackModel value)
        {
            _db.Feedbacks.Add(value);
            _db.SaveChanges();

            return(value.Id);
        }
        public ActionResult <int> Add([FromForm] StatisticModel value)
        {
            _db.Records.Add(value);
            _db.SaveChanges();

            return(value.Id);
        }
        public void AddEntry(AddEntryRequest request)
        {
            if (request.PersonId == 0 ||
                request.SideId == 0 ||
                request.PlayerCount == 0)
            {
                throw new InvalidOperationException("No argument can be zero or null");
            }

            _context.Database.EnsureCreated();

            _context.Database.BeginTransaction();

            _context.PersonXSides.Add(new PersonXSide
            {
                CreateDate  = DateTime.Now,
                PersonId    = request.PersonId,
                SideId      = request.SideId,
                PlayerCount = request.PlayerCount
            });

            _context.SaveChanges();

            _context.Database.CurrentTransaction.Commit();
        }
Beispiel #4
0
        private void saveBuffer()    // 保存缓存。 懒的进行集合运算了, 所以直接清空表
        // 清空表
        {
            Logger.Debug("开始保存缓存。");
            var context = new StatisticsContext();
            var buffer  = context.Buffer.ToList();

            Logger.Debug("保存缓存 -> 删除所有记录");
            context.Buffer.RemoveRange(buffer);

            if (downServerIds.ToArray().Length > 0)
            {
                // 有数据可以缓存
                Logger.Debug("保存缓存 -> 存在数据可以缓存");
                foreach (var data in downServerList.ToArray())
                {
                    Logger.Debug("保存缓存 -> 缓存 id: " + data.id + ", 开始时间戳: " + data.startTS);
                    var child = new buffer()
                    {
                        identification = data.id,
                        startTS        = data.startTS.ToString()
                    };
                    context.Buffer.Add(child);
                }
                Logger.Debug("保存缓存 -> 保存变更");
                context.SaveChanges();
                Logger.Debug("保存缓存 -> 完成");
            }
        }
Beispiel #5
0
        private void addLog(string id, string type, long ts)    // 添加事件, 记录故障与恢复;
        {
            var context = new StatisticsContext();
            var child   = new log()
            {
                identification = id,
                type           = type,
                ts             = ts
            };

            context.Log.Add(child);
            context.SaveChanges();
        }
Beispiel #6
0
        private void saveStatus()    // 保存数据到状态监控
        {
            Logger.Debug("开始保存状态统计");
            var context = new StatisticsContext();

            if (downServerIds.ToArray().Length > 0)   // 缓存存在故障数据
            {
                Logger.Debug("保存数据统计 -> 发现缓存中存在故障数据");
                foreach (var id in downServerIds.ToArray())   // 对缓存数组进行一次遍历, 然后更新对应数组的状态
                {
                    var statusHasId = context.Status
                                      .Where(c => c.identification.Contains(id));
                    if (statusHasId.ToList().ToArray().Length > 0)   // 对于该标识有记录, 我们直接更新状态
                    {
                        Logger.Debug("保存数据统计 -> 故障 id: " + id + " 在数据库中发现记录");
                        var identification = statusHasId.First();
                        identification.totol++;
                        identification.down++;
                    }
                    else     // 初始化
                    {
                        Logger.Debug("保存数据统计 -> 故障 id: " + id + "未在数据库中发现记录");
                        var row = new status()
                        {
                            identification = id,
                            totol          = 1,
                            down           = 1,
                            up             = 0
                        };
                        context.Status.Add(row);
                    }
                }
            }
            // 计算补集, 确认正常的服务
            Logger.Debug("保存数据统计 -> 计算补给, 获得正常标识数组");
            var diff = serverIds.ToArray().Where(c => !downServerIds.ToArray().Contains(c)).ToArray();

            foreach (var id in diff)
            {
                var statusHasId = context.Status
                                  .Where(c => c.identification.Contains(id));
                if (statusHasId.ToList().ToArray().Length > 0)   // 对于该标识有记录, 我们直接更新状态
                {
                    Logger.Debug("保存数据统计 -> 正常 id: " + id + " 在数据库中发现记录");
                    var identification = statusHasId.First();
                    identification.totol++;
                    identification.up++;
                }
                else     // 初始化
                {
                    Logger.Debug("保存数据统计 -> 正常 id: " + id + " 未在数据库中发现记录");
                    var row = new status()
                    {
                        identification = id,
                        totol          = 1,
                        down           = 0,
                        up             = 1
                    };
                    context.Status.Add(row);
                }
            }
            Logger.Debug("保存数据统计 -> 保存变更");
            context.SaveChanges();
            Logger.Debug("保存数据统计 -> 完成");
        }
 public void Create(Statistics item)
 {
     Context.StatItems.Add(item);
     Context.SaveChanges();
 }