Exemplo n.º 1
0
        internal static void DeleteNode(long chatId, List <string> nodes)
        {
            var context = new SuperNodeDataContext();

            try
            {
                foreach (var ip in nodes)
                {
                    var n = GetNode(ip: ip, user: chatId);

                    if (n?.OwnedByUser != chatId)
                    {
                        continue;
                    }

                    context.SuperNodes.Attach(entity: n);
                    context.SuperNodes.DeleteOnSubmit(entity: n);
                }

                context.SubmitChanges();
            }
            catch (Exception ex)
            {
                Console.WriteLine("delete node " + ex.Message);
            }
        }
Exemplo n.º 2
0
        internal static void DeleteUserNodes(long chatId)
        {
            var context = new SuperNodeDataContext();

            try
            {
                var nodes = context.SuperNodes.Where(r => r.OwnedByUser == chatId).ToList();

                foreach (var node in nodes)
                {
                    var n = GetNode(ip: node.IP, user: chatId);

                    if (n?.OwnedByUser != chatId)
                    {
                        continue;
                    }

                    context.SuperNodes.Attach(n);
                    context.SuperNodes.DeleteOnSubmit(entity: n);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("delete user node " + ex.Message);
            }


            context.SubmitChanges();
        }
Exemplo n.º 3
0
        internal static void UpdateNode(SuperNode snode, long chatId)
        {
            try
            {
                if (GetNode(ip: snode.IP, user: chatId)?.IP == null)
                {
                    return;
                }

                var context = new SuperNodeDataContext();

                var node = context.SuperNodes
                           .Where(predicate: e => e.OwnedByUser == snode.OwnedByUser)
                           .Single(predicate: e => e.IP == snode.IP);

                node.LastTest    = snode.LastTest;
                node.WentOffLine = snode.WentOffLine;

                context.SubmitChanges();
            }
            catch (Exception ex)
            {
                Console.WriteLine("update node " + ex.Message);
            }
        }
Exemplo n.º 4
0
        internal static List <SuperNode> GetNodeByUser(long chatId)
        {
            if (UserUtils.GetUser(chatId: chatId)?.ChatId == null)
            {
                return(null);
            }

            var context = new SuperNodeDataContext();

            return(context.SuperNodes.Where(predicate: node => node.OwnedByUser == chatId).ToList());
        }
Exemplo n.º 5
0
        internal static SuperNode GetNode(string ip, long user)
        {
            var context = new SuperNodeDataContext();

            try
            {
                var acc = context.SuperNodes.Where(predicate: e => e.OwnedByUser == user).Single(predicate: e => e.IP == ip);
                return(acc);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemplo n.º 6
0
        internal static SupernodeResponseData.Supernodes AddNode(long chatId, SupernodeResponseData.Supernodes nodes)
        {
            var list = new SupernodeResponseData.Supernodes()
            {
                data = new List <SupernodeResponseData.Nodes>()
            };


            var context = new SuperNodeDataContext();

            try
            {
                foreach (var node in nodes.data)
                {
                    var n = GetNode(ip: node.ip, user: chatId);

                    if (n?.IP != null && n?.OwnedByUser == chatId)
                    {
                        continue;
                    }
                    ;

                    var snode = new SuperNode()
                    {
                        OwnedByUser    = chatId,
                        IP             = node.ip,
                        LastTest       = 0,
                        DepositAddress = node.payoutAddress,
                        SNodeID        = node.id,
                        Alias          = node.alias
                    };

                    context.SuperNodes.InsertOnSubmit(entity: snode);
                    list.data.Add(item: node);
                }

                context.SubmitChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine("add node " + e.StackTrace);
            }

            return(list);
        }
Exemplo n.º 7
0
        internal static List <SuperNode> GetAllNodes()
        {
            var context = new SuperNodeDataContext();

            return(context.SuperNodes.ToList());
        }