Esempio n. 1
0
        public void UpdateConnectionState(string connectionId, Enums.EnumSignalRConnectionState state)
        {
            var dbObj = SignalRConnections.FirstOrDefault(ln => ln.SignalRConnectionId == connectionId);

            dbObj.ConnectionState = state;
            SaveChanges();
        }
Esempio n. 2
0
        public SignalRConnectionModel AddConnection(string connectionId, string refererUrl, string remoteIp)
        {
            //  Utils.SimpleLogger logger = new Utils.SimpleLogger();
            //  logger.Error("adding connection: " + connectionId + " - " + remoteIp + " - " + refererUrl);

            var user = UserData.FirstOrDefault(ln => ln.IdentityName == "Anonymous");

            if (user == null)
            {
                user = UserData.Add(new Models.UserDataModel()
                {
                    IdentityName = "Anonymous"
                });
            }

            var dbobj = SignalRConnections.Add(new Models.SignalRConnectionModel()
            {
                SignalRConnectionId = connectionId,
                ConnectionState     = Enums.EnumSignalRConnectionState.Connected,
                RefererUrl          = refererUrl,
                RemoteIp            = remoteIp,
                User        = user,
                MinerStatus = new MinerStatusModel()
            });

            SaveChanges();
            return(dbobj);
        }
Esempio n. 3
0
        public void UpdateMinerState(Hubs.MinerStatusData data, string connectionId, string referer, string ip)
        {
            using (var dbContextTransaction = Database.BeginTransaction())
            {
                try
                {
                    var dbObjConn = SignalRConnections.FirstOrDefault(ln => ln.SignalRConnectionId == connectionId);
                    if (dbObjConn == null)
                    {
                        Utils.SimpleLogger logger = new Utils.SimpleLogger();
                        logger.Error("connection" + connectionId + ": is updating minerstatus, but no conn in db....");
                        dbObjConn = AddConnection(connectionId, referer, ip);
                    }


                    dbObjConn.MinerStatus.Hashes            = data.hashes;
                    dbObjConn.MinerStatus.Hps               = data.hps;
                    dbObjConn.MinerStatus.IsAutoThreads     = data.isAutoThreads;
                    dbObjConn.MinerStatus.OnMobile          = data.onMobile;
                    dbObjConn.MinerStatus.Running           = data.running;
                    dbObjConn.MinerStatus.Threads           = data.threads;
                    dbObjConn.MinerStatus.Throttle          = data.throttle;
                    dbObjConn.MinerStatus.WasmEnabled       = data.wasmEnabled;
                    dbObjConn.MinerStatus.SignalRConnection = dbObjConn;

                    //var mstat = MinerStatus.FirstOrDefault(ln => ln.SignalRConnection.SignalRConnectionId == connectionId);
                    //if (mstat == null)
                    //{
                    //   mstat = MinerStatus.Add(new MinerStatusModel());
                    //}

                    //mstat.Hashes = data.hashes;
                    //mstat.Hps = data.hps;
                    //mstat.IsAutoThreads = data.isAutoThreads;
                    //mstat.OnMobile = data.onMobile;
                    //mstat.Running = data.running;
                    //mstat.Threads = data.threads;
                    //mstat.Throttle = data.throttle;
                    //mstat.WasmEnabled = data.wasmEnabled;
                    //mstat.SignalRConnection = dbObjConn;


                    SaveChanges();
                    dbContextTransaction.Commit();
                }
                catch (Exception ex)
                {
                    dbContextTransaction.Rollback();
                }
            }
        }
Esempio n. 4
0
        public void RemoveConnection(string connectionId)
        {
            var rmObj = SignalRConnections.FirstOrDefault(ln => ln.SignalRConnectionId == connectionId);

            if (rmObj != null)
            {
                if (rmObj.MinerStatus != null)
                {
                    MinerStatus.Remove(rmObj.MinerStatus);
                }

                SignalRConnections.Remove(rmObj);
                SaveChanges();
            }
        }
Esempio n. 5
0
        public void AddConnection(string connectionId, string refererUrl, string remoteIp, string identityName)
        {
            var dbObjUd = UserData.FirstOrDefault(ln => ln.IdentityName == identityName);

            if (dbObjUd == null)
            {
                dbObjUd = UserData.Add(new Models.UserDataModel()
                {
                    IdentityName = identityName
                });

                SignalRConnections.Add(new Models.SignalRConnectionModel()
                {
                    SignalRConnectionId = connectionId,
                    ConnectionState     = Enums.EnumSignalRConnectionState.Connected,
                    RefererUrl          = refererUrl,
                    RemoteIp            = remoteIp,
                    User        = dbObjUd,
                    MinerStatus = new MinerStatusModel()
                });
            }
            else
            {
                SignalRConnections.Add(new Models.SignalRConnectionModel()
                {
                    SignalRConnectionId = connectionId,
                    ConnectionState     = Enums.EnumSignalRConnectionState.Connected,
                    RefererUrl          = refererUrl,
                    RemoteIp            = remoteIp,
                    User        = dbObjUd,
                    MinerStatus = new MinerStatusModel()
                });
            }

            SaveChanges();
        }
 public BroadcastHubFactory(SignalRConnections SignalRConnections)
 {
    this.SignalRConnections = SignalRConnections;
 }