private bool IsOnlineNode(Domain.Entities.Node node)
        {
            if (node.LastModificationTime != null)
            {
                var value = (DateTime.Now - node.LastModificationTime).Value;
                return(value.TotalSeconds < 60);
            }

            return(false);
        }
示例#2
0
        private void RefreshOnlineStatus(NodeHeartbeatInput input)
        {
            var node = DbContext.Node.FirstOrDefault(n => n.NodeId == input.NodeId);

            if (node != null)
            {
                node.IsOnline             = true;
                node.Type                 = input.Type;
                node.Os                   = input.Os;
                node.LastModificationTime = DateTime.Now;
            }
            else
            {
                node                      = new Domain.Entities.Node();
                node.NodeId               = input.NodeId;
                node.IsEnable             = true;
                node.IsOnline             = true;
                node.CreationTime         = DateTime.Now;
                node.Type                 = input.Type;
                node.Os                   = input.Os;
                node.LastModificationTime = node.CreationTime;
                DbContext.Node.Add(node);
            }
        }