コード例 #1
0
        public GetSleepThread checkdGet(int chechkID, string towerName, int deviceID, DeviceContext db, int towerID, string LogMap, int CountCheck, bool MapLog)
        {
            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString))
            {
                var             getcheck        = connection.Query <GetSleepThread>($"select * from  GetSleepThread where TowerName='{towerName}' and DeviceID='{deviceID}' and TowerID='{towerID}'").FirstOrDefault();
                GetSleepThread  checkMapLog     = new GetSleepThread();
                GetThread       getThreadPreset = new GetThread();
                WalkTowerDevice addthread       = new WalkTowerDevice();
                if (getcheck != null || (CountCheck != 0 && MapLog == true))
                {
                    if (LogMap == "Log")
                    {
                        addthread         = connection.Query <WalkTowerDevice>($"select * from  WalkTowerDevice where LogID<>0 and WalkID='{chechkID}' and TowerName='{towerName}' and DeviceID='{deviceID}'").FirstOrDefault();
                        checkMapLog.LogID = 1;
                    }
                    else
                    {
                        addthread         = connection.Query <WalkTowerDevice>($"select * from  WalkTowerDevice where MapID<>0 and WalkID='{chechkID}' and TowerName='{towerName}' and DeviceID='{deviceID}'").FirstOrDefault();
                        checkMapLog.MapID = 1;
                    }
                    var maplogExistence = connection.Query <GetSleepThread>($"select * from  GetSleepThread where TowerName='{towerName}' and DeviceID='{deviceID}' and TowerID='{towerID}' and CheckID='{chechkID}'").FirstOrDefault();

                    if (maplogExistence == null)
                    {
                        checkMapLog.DeviceID     = addthread.DeviceID;
                        checkMapLog.TowerName    = addthread.TowerName;
                        checkMapLog.IP           = addthread.IP;
                        checkMapLog.ScanInterval = addthread.ScanInterval;
                        checkMapLog.WalkOid      = addthread.WalkOID;
                        checkMapLog.Version      = addthread.Version;
                        checkMapLog.CheckID      = addthread.WalkID;
                        checkMapLog.TowerID      = towerID;
                        checkMapLog.thread       = new Thread(() => getThreadPreset.ThreadPreset(addthread.WalkID, addthread.StringParserInd, addthread.DivideMultiply, addthread.ID, towerID, addthread.IP, addthread.ScanInterval, addthread.DeviceID, addthread.WalkOID, addthread.Version, addthread.StartCorrect, addthread.EndCorrect, addthread.OneStartError, addthread.OneEndError, addthread.OneStartCrash, addthread.OneEndCrash, addthread.TwoStartError, addthread.TwoEndError, addthread.TwoStartCrash, addthread.TwoEndCrash));
                        checkMapLog.thread.Start();

                        db.GetSleepThread.Add(checkMapLog);
                        db.SaveChanges();
                    }
                    else
                    {
                        if (LogMap == "Log")
                        {
                            connection.Query <GetSleepThread>($"update GetSleepThread set LogID=1 where TowerName='{towerName}' and DeviceID='{deviceID}' and TowerID='{towerID}' and CheckID='{chechkID}'");
                        }
                        else
                        {
                            connection.Query <GetSleepThread>($"update GetSleepThread set MapID=1 where TowerName='{towerName}' and DeviceID='{deviceID}' and TowerID='{towerID}' and CheckID='{chechkID}'");
                        }
                    }
                    return(checkMapLog);
                }
                else
                {
                    return(checkMapLog);
                }
            }
        }
コード例 #2
0
        public GetSleepThread checkedLogMap(int checkID, string towerName, int deviceID, DeviceContext db, int towerID, string LogMap, int CountCheck, bool MapLog)
        {
            var             getcheck        = getData.GetCheckFirsDefine(towerName, deviceID, towerID);
            GetSleepThread  checkMapLog     = new GetSleepThread();
            GetThread       getThreadPreset = new GetThread();
            WalkTowerDevice addthread       = new WalkTowerDevice();

            if (getcheck != null || (CountCheck != 0 && MapLog == true))
            {
                if (LogMap == "Log")
                {
                    addthread         = getData.CheckLog(checkID, towerName, deviceID);
                    checkMapLog.LogID = 1;
                }
                else
                {
                    addthread         = getData.CheckMap(checkID, towerName, deviceID);
                    checkMapLog.MapID = 1;
                }
                var maplogExistence = getData.MapLogExistence(towerName, deviceID, towerID, checkID);

                if (maplogExistence == null)
                {
                    checkMapLog.DeviceID     = addthread.DeviceID;
                    checkMapLog.TowerName    = addthread.TowerName;
                    checkMapLog.IP           = addthread.IP;
                    checkMapLog.ScanInterval = addthread.ScanInterval;
                    checkMapLog.WalkOid      = addthread.WalkOID;
                    checkMapLog.Version      = addthread.Version;
                    checkMapLog.CheckID      = addthread.WalkID;
                    checkMapLog.TowerID      = towerID;
                    checkMapLog.thread       = new Thread(() => getThreadPreset.ThreadPreset(addthread.WalkID, addthread.StringParserInd, addthread.DivideMultiply, addthread.ID, towerID, addthread.IP, addthread.ScanInterval, addthread.DeviceID, addthread.WalkOID, addthread.Version, addthread.StartCorrect, addthread.EndCorrect, addthread.OneStartError, addthread.OneEndError, addthread.OneStartCrash, addthread.OneEndCrash, addthread.TwoStartError, addthread.TwoEndError, addthread.TwoStartCrash, addthread.TwoEndCrash));
                    checkMapLog.thread.Start();

                    getData.GetSleepThreadSave(db, checkMapLog);
                }
                else
                {
                    if (LogMap == "Log")
                    {
                        getData.SelectedLog(1, towerName, deviceID, towerID, checkID);
                    }
                    else
                    {
                        getData.SelectedMap(1, towerName, deviceID, towerID, checkID);
                    }
                }
                return(checkMapLog);
            }
            else
            {
                return(checkMapLog);
            }
        }
コード例 #3
0
        public List <GetSleepThread> UnCheckLog(int unChechkID, string towerName, int deviceID, int towerID, string LogMap, List <GetSleepThread> getThread)
        {
            GetSleepThread uncheckMapLog = new GetSleepThread();

            var LogMapCheck = getData.MapLogExistence(towerName, deviceID, towerID, unChechkID);

            if (LogMap == "Log" || LogMap == "Map")
            {
                if (LogMapCheck != null)
                {
                    SleepInformation sleepget = new SleepInformation();
                    if (getThread.Count == 0)
                    {
                        getThread = sleepget.SleepGetInformation(false);
                    }
                    getData.DeleteSleepThead(towerName, deviceID, towerID, unChechkID);
                    getData.UpdateSleepTheadLog(towerName, deviceID, towerID, unChechkID);

                    var removeLog = getThread.Where(g => g.TowerName == towerName && g.DeviceID == deviceID && g.CheckID == unChechkID && g.TowerID == towerID).FirstOrDefault();
                    removeLog.thread.Abort();
                    getThread.Remove(removeLog);
                }
                else
                {
                    getData.UpdateSleepTheadLog(towerName, deviceID, towerID, unChechkID);
                }
            }
            else
            {
                if (LogMapCheck != null && LogMapCheck.LogID != 1)
                {
                    getData.DeleteSleepThead(towerName, deviceID, towerID, unChechkID);
                    getData.UpdateSleepTheadMap(towerName, deviceID, towerID, unChechkID);

                    var removeLog = getThread.Where(g => g.TowerName == towerName && g.DeviceID == deviceID && g.CheckID == unChechkID && g.TowerID == towerID).FirstOrDefault();
                    removeLog.thread.Abort();
                    getThread.Remove(removeLog);
                }
                else
                {
                    getData.UpdateSleepTheadMap(towerName, deviceID, towerID, unChechkID);
                }
            }
            return(getThread);
        }
コード例 #4
0
        public List <GetSleepThread> UnCheckdGet(int unChechkID, string towerName, int deviceID, int towerID, string LogMap, List <GetSleepThread> getThread)
        {
            GetSleepThread uncheckMapLog = new GetSleepThread();

            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString))
            {
                var getcheck = connection.Query <GetSleepThread>($"select * from  GetSleepThread where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}'  and TowerID='{towerID}'").FirstOrDefault();
                if (LogMap == "Log" || LogMap == "Map")
                {
                    if (getcheck != null)
                    {
                        SleepInformation sleepget = new SleepInformation();
                        if (getThread.Count == 0)
                        {
                            getThread = sleepget.SleepGetInformation(false);
                        }
                        connection.Query <GetSleepThread>($"delete from  GetSleepThread where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}' and TowerID='{towerID}'");
                        connection.Query <GetSleepThread>($"Update GetSleepThread Set LogID=0 where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}' and TowerID='{towerID}'");
                        var removeLog = getThread.Where(g => g.TowerName == towerName && g.DeviceID == deviceID && g.CheckID == unChechkID && g.TowerID == towerID).FirstOrDefault();
                        removeLog.thread.Abort();
                        getThread.Remove(removeLog);
                    }
                    else
                    {
                        connection.Query <GetSleepThread>($"Update GetSleepThread Set LogID=0 where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}' and TowerID='{towerID}'");
                    }
                }
                else
                {
                    if (getcheck != null && getcheck.LogID != 1)
                    {
                        connection.Query <GetSleepThread>($"delete from  GetSleepThread where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}' and TowerID='{towerID}'");
                        connection.Query <GetSleepThread>($"Update GetSleepThread Set MapID=0 where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}' and TowerID='{towerID}'");
                        var removeLog = getThread.Where(g => g.TowerName == towerName && g.DeviceID == deviceID && g.CheckID == unChechkID && g.TowerID == towerID).FirstOrDefault();
                        removeLog.thread.Abort();
                        getThread.Remove(removeLog);
                    }
                    else
                    {
                        connection.Query <GetSleepThread>($"Update GetSleepThread Set MapID=0 where TowerName='{towerName}' and DeviceID='{deviceID}' and CheckID='{unChechkID}' and TowerID='{towerID}'");
                    }
                }
            }
            return(getThread);
        }
コード例 #5
0
        public void LogSelectThead(List <WalkTowerDevice> Log, GetThread getThreadPreset, int towerID, List <GetSleepThread> getThread, DeviceContext db)
        {
            Log.ForEach(l =>
            {
                GetSleepThread gtl  = new GetSleepThread();
                gtl.DeviceID        = l.DeviceID;
                gtl.TowerName       = l.TowerName;
                gtl.IP              = l.IP;
                gtl.ScanInterval    = l.ScanInterval;
                gtl.WalkOid         = l.WalkOID;
                gtl.Version         = l.Version;
                gtl.TowerID         = towerID;
                gtl.CheckID         = l.WalkID;
                gtl.StartCorrect    = l.StartCorrect;
                gtl.EndCorrect      = l.EndCorrect;
                gtl.OneStartError   = l.OneStartError;
                gtl.OneEndError     = l.OneEndError;
                gtl.OneStartCrash   = l.OneStartCrash;
                gtl.OneEndCrash     = l.OneEndCrash;
                gtl.TwoStartError   = l.TwoStartError;
                gtl.TwoEndError     = l.TwoEndError;
                gtl.TwoStartCrash   = l.TwoStartCrash;
                gtl.TwoEndCrash     = l.TwoEndCrash;
                gtl.WalkID          = l.ID;
                gtl.DivideMultiply  = l.DivideMultiply;
                gtl.StringParserInd = l.StringParserInd;
                if (l.MapID == 1)
                {
                    gtl.MapID = 1;
                }
                gtl.LogID  = 1;
                gtl.thread = new Thread(() => getThreadPreset.ThreadPreset(l.WalkID, l.StringParserInd, l.DivideMultiply, l.ID, towerID, l.IP, l.ScanInterval, l.DeviceID, l.WalkOID, l.Version, l.StartCorrect, l.EndCorrect, l.OneStartError, l.OneEndError, l.OneStartCrash, l.OneEndCrash, l.TwoStartError, l.TwoEndError, l.TwoStartCrash, l.TwoEndCrash));
                gtl.thread.Start();
                getThread.Add(gtl);

                getData.GetSleepThreadSave(db, gtl);
            });
        }
コード例 #6
0
 public void GetSleepThreadSave(DeviceContext db, GetSleepThread gtl)
 {
     db.GetSleepThread.Add(gtl);
     db.SaveChanges();
 }
コード例 #7
0
        public List <int> PlayThread(bool treadListInd, List <GetSleepThread> getThread, SleepInformation returnedThreadList, List <int> playGet, string towerName, int towerID, DeviceContext db, GetThread getThreadPreset)
        {
            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString))
            {
                List <int> palayStop = new List <int>();
                playGet.ForEach(deviceID =>
                {
                    var Log = connection.Query <WalkTowerDevice>($"select * from WalkTowerDevice where LogID<>0 and TowerName='{towerName}' and DeviceID='{deviceID}'").ToList();
                    var Map = connection.Query <WalkTowerDevice>($"select * from WalkTowerDevice where MapID<>0 and TowerName='{towerName}' and DeviceID='{deviceID}'").ToList();

                    Log.ForEach(l =>
                    {
                        GetSleepThread gtl  = new GetSleepThread();
                        gtl.DeviceID        = l.DeviceID;
                        gtl.TowerName       = l.TowerName;
                        gtl.IP              = l.IP;
                        gtl.ScanInterval    = l.ScanInterval;
                        gtl.WalkOid         = l.WalkOID;
                        gtl.Version         = l.Version;
                        gtl.TowerID         = towerID;
                        gtl.CheckID         = l.WalkID;
                        gtl.StartCorrect    = l.StartCorrect;
                        gtl.EndCorrect      = l.EndCorrect;
                        gtl.OneStartError   = l.OneStartError;
                        gtl.OneEndError     = l.OneEndError;
                        gtl.OneStartCrash   = l.OneStartCrash;
                        gtl.OneEndCrash     = l.OneEndCrash;
                        gtl.TwoStartError   = l.TwoStartError;
                        gtl.TwoEndError     = l.TwoEndError;
                        gtl.TwoStartCrash   = l.TwoStartCrash;
                        gtl.TwoEndCrash     = l.TwoEndCrash;
                        gtl.WalkID          = l.ID;
                        gtl.DivideMultiply  = l.DivideMultiply;
                        gtl.StringParserInd = l.StringParserInd;

                        if (l.MapID == 1)
                        {
                            gtl.MapID = 1;
                        }
                        gtl.LogID  = 1;
                        gtl.thread = new Thread(() => getThreadPreset.ThreadPreset(l.WalkID, l.StringParserInd, l.DivideMultiply, l.ID, towerID, l.IP, l.ScanInterval, l.DeviceID, l.WalkOID, l.Version, l.StartCorrect, l.EndCorrect, l.OneStartError, l.OneEndError, l.OneStartCrash, l.OneEndCrash, l.TwoStartError, l.TwoEndError, l.TwoStartCrash, l.TwoEndCrash));

                        gtl.thread.Start();
                        getThread.Add(gtl);

                        db.GetSleepThread.Add(gtl);
                        db.SaveChanges();
                    });

                    Map.ForEach(l =>
                    {
                        if (l.LogID != 1)
                        {
                            GetSleepThread gtl  = new GetSleepThread();
                            gtl.DeviceID        = l.DeviceID;
                            gtl.TowerName       = l.TowerName;
                            gtl.IP              = l.IP;
                            gtl.ScanInterval    = l.ScanInterval;
                            gtl.WalkOid         = l.WalkOID;
                            gtl.Version         = l.Version;
                            gtl.TowerID         = towerID;
                            gtl.CheckID         = l.WalkID;
                            gtl.StartCorrect    = l.StartCorrect;
                            gtl.EndCorrect      = l.EndCorrect;
                            gtl.OneStartError   = l.OneStartError;
                            gtl.OneEndError     = l.OneEndError;
                            gtl.OneStartCrash   = l.OneStartCrash;
                            gtl.OneEndCrash     = l.OneEndCrash;
                            gtl.TwoStartError   = l.TwoStartError;
                            gtl.TwoEndError     = l.TwoEndError;
                            gtl.TwoStartCrash   = l.TwoStartCrash;
                            gtl.TwoEndCrash     = l.TwoEndCrash;
                            gtl.WalkID          = l.ID;
                            gtl.DivideMultiply  = l.DivideMultiply;
                            gtl.StringParserInd = l.StringParserInd;;

                            gtl.MapID  = 1;
                            gtl.thread = new Thread(() => getThreadPreset.ThreadPreset(l.WalkID, l.StringParserInd, l.DivideMultiply, l.ID, towerID, l.IP, l.ScanInterval, l.DeviceID, l.WalkOID, l.Version, l.StartCorrect, l.EndCorrect, l.OneStartError, l.OneEndError, l.OneStartCrash, l.OneEndCrash, l.TwoStartError, l.TwoEndError, l.TwoStartCrash, l.TwoEndCrash));
                            gtl.thread.Start();
                            getThread.Add(gtl);

                            db.GetSleepThread.Add(gtl);
                            db.SaveChanges();
                        }
                    });
                    if (Log.Count == 0 && Map.Count == 0)
                    {
                        palayStop.Add(deviceID);
                    }
                });
                return(palayStop);
            }
        }
コード例 #8
0
        public bool Get(List <GetSleepThread> getThread, SleepInformation returnedThreadList, string towerName, int deviceID, int towerID, DeviceContext db, GetThread getThreadPreset)
        {
            var gt = /* returnedThreadList.SleepGetInformation(false);*/ HangfireBootstrapper.Instance.GetThreadStart();

            if (gt.Count != 0)
            {
                getThread.AddRange(gt);
            }
            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString))
            {
                var oofDevice = connection.Query <GetSleepThread>($"select * from GetSleepThread where TowerName='{towerName}' and DeviceID='{deviceID}'").ToList();
                if (oofDevice.Count != 0)
                {
                    connection.Query <GetSleepThread>($"delete from GetSleepThread where TowerName='{towerName}' and DeviceID='{ deviceID }'");
                    var thb = getThread.Where(t => t.TowerName == towerName && t.DeviceID == deviceID).ToList();
                    thb.ForEach(t =>
                    {
                        t.thread.Abort();
                        getThread.Remove(t);
                    });
                    var toweroff = connection.Query <GetSleepThread>($"select * from  GetSleepThread where TowerID='{towerID}'").FirstOrDefault();
                    if (toweroff != null)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    var Log = connection.Query <WalkTowerDevice>($"select * from WalkTowerDevice where LogID<>0 and TowerName='{towerName}' and DeviceID='{deviceID}'").ToList();
                    var Map = connection.Query <WalkTowerDevice>($"select * from WalkTowerDevice where MapID<>0 and TowerName='{towerName}' and DeviceID='{deviceID}'").ToList();

                    Log.ForEach(l =>
                    {
                        GetSleepThread gtl  = new GetSleepThread();
                        gtl.DeviceID        = l.DeviceID;
                        gtl.TowerName       = l.TowerName;
                        gtl.IP              = l.IP;
                        gtl.ScanInterval    = l.ScanInterval;
                        gtl.WalkOid         = l.WalkOID;
                        gtl.Version         = l.Version;
                        gtl.TowerID         = towerID;
                        gtl.CheckID         = l.WalkID;
                        gtl.StartCorrect    = l.StartCorrect;
                        gtl.EndCorrect      = l.EndCorrect;
                        gtl.OneStartError   = l.OneStartError;
                        gtl.OneEndError     = l.OneEndError;
                        gtl.OneStartCrash   = l.OneStartCrash;
                        gtl.OneEndCrash     = l.OneEndCrash;
                        gtl.TwoStartError   = l.TwoStartError;
                        gtl.TwoEndError     = l.TwoEndError;
                        gtl.TwoStartCrash   = l.TwoStartCrash;
                        gtl.TwoEndCrash     = l.TwoEndCrash;
                        gtl.WalkID          = l.ID;
                        gtl.DivideMultiply  = l.DivideMultiply;
                        gtl.StringParserInd = l.StringParserInd;
                        if (l.MapID == 1)
                        {
                            gtl.MapID = 1;
                        }
                        gtl.LogID  = 1;
                        gtl.thread = new Thread(() => getThreadPreset.ThreadPreset(l.WalkID, l.StringParserInd, l.DivideMultiply, l.ID, towerID, l.IP, l.ScanInterval, l.DeviceID, l.WalkOID, l.Version, l.StartCorrect, l.EndCorrect, l.OneStartError, l.OneEndError, l.OneStartCrash, l.OneEndCrash, l.TwoStartError, l.TwoEndError, l.TwoStartCrash, l.TwoEndCrash));
                        gtl.thread.Start();
                        getThread.Add(gtl);
                        db.GetSleepThread.Add(gtl);
                        db.SaveChanges();
                    });

                    Map.ForEach(l =>
                    {
                        if (l.LogID != 1)
                        {
                            GetSleepThread gtl  = new GetSleepThread();
                            gtl.DeviceID        = l.DeviceID;
                            gtl.TowerName       = l.TowerName;
                            gtl.IP              = l.IP;
                            gtl.ScanInterval    = l.ScanInterval;
                            gtl.WalkOid         = l.WalkOID;
                            gtl.Version         = l.Version;
                            gtl.TowerID         = towerID;
                            gtl.CheckID         = l.WalkID;
                            gtl.StartCorrect    = l.StartCorrect;
                            gtl.EndCorrect      = l.EndCorrect;
                            gtl.OneStartError   = l.OneStartError;
                            gtl.OneEndError     = l.OneEndError;
                            gtl.OneStartCrash   = l.OneStartCrash;
                            gtl.OneEndCrash     = l.OneEndCrash;
                            gtl.TwoStartError   = l.TwoStartError;
                            gtl.TwoEndError     = l.TwoEndError;
                            gtl.TwoStartCrash   = l.TwoStartCrash;
                            gtl.TwoEndCrash     = l.TwoEndCrash;
                            gtl.WalkID          = l.ID;
                            gtl.DivideMultiply  = l.DivideMultiply;
                            gtl.StringParserInd = l.StringParserInd;
                            gtl.MapID           = 1;
                            gtl.thread          = new Thread(() => getThreadPreset.ThreadPreset(l.WalkID, l.StringParserInd, l.DivideMultiply, l.ID, towerID, l.IP, l.ScanInterval, l.DeviceID, l.WalkOID, l.Version, l.StartCorrect, l.EndCorrect, l.OneStartError, l.OneEndError, l.OneStartCrash, l.OneEndCrash, l.TwoStartError, l.TwoEndError, l.TwoStartCrash, l.TwoEndCrash));
                            gtl.thread.Start();
                            getThread.Add(gtl);

                            db.GetSleepThread.Add(gtl);
                            db.SaveChanges();
                        }
                    });
                    if (Log.Count == 0 && Map.Count == 0)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }