Пример #1
0
        public string  CompareCorrectError(int WalkID, string values, string DivideMultiply, int DeviceID, int ID, int TowerID, string value, string StartCorrect, string EndCorrect, string OneStartError, string OneEndError, string OneStartCrash, string OneEndCrash, string TwoStartError, string TwoEndError, string TwoStartCrash, string TwoEndCrash)
        {
            var context = GlobalHost.ConnectionManager.GetHubContext <HubMessage>();

            MapViewInformation mapinf = new MapViewInformation();

            if (values != "")
            {
                mapinf.Value = values;
            }
            else
            {
                mapinf.Value = value;
            }
            mapinf.TowerID        = TowerID;
            mapinf.TowerLine      = mapline.LinesCordinate(TowerID);
            mapinf.GetTrap        = "get";
            mapinf.ID             = ID;
            mapinf.DeviceID       = DeviceID;
            mapinf.DivideMultiply = DivideMultiply;
            mapinf.WalkID         = WalkID;

            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString))
            {
                var cord = connection.Query <TowerGps>($"select * from TowerGps where TowerID='{TowerID}'").FirstOrDefault();
                mapinf.StartLattitube = Double.Parse(cord.Lattitube.Remove(cord.Lattitube.Length - 2), CultureInfo.InvariantCulture);
                mapinf.StartLongitube = Double.Parse(cord.Longitube.Remove(cord.Longitube.Length - 2), CultureInfo.InvariantCulture);
            }
            double number;
            var    convertationDouble = Double.TryParse(value, out number);

            if (convertationDouble != false && StartCorrect != "" && EndCorrect != "")
            {
                if (Convert.ToDouble(value, CultureInfo.InvariantCulture) >= Convert.ToDouble(OneStartError, CultureInfo.InvariantCulture) && Convert.ToDouble(value, CultureInfo.InvariantCulture) < Convert.ToDouble(OneEndError, CultureInfo.InvariantCulture))
                {
                    mapinf.MapColor  = "red";
                    mapinf.LineColor = "red";
                    mapinf.TextColor = "white";
                    context.Clients.All.onHitRecorded(mapinf);
                    return("Red");
                }
                if (Convert.ToDouble(value, CultureInfo.InvariantCulture) >= Convert.ToDouble(OneStartCrash, CultureInfo.InvariantCulture) && Convert.ToDouble(value, CultureInfo.InvariantCulture) < Convert.ToDouble(OneEndCrash, CultureInfo.InvariantCulture))
                {
                    mapinf.MapColor  = "yellow";
                    mapinf.LineColor = "yellow";
                    mapinf.TextColor = "black";
                    context.Clients.All.onHitRecorded(mapinf);
                    return("Yellow");
                }
                if (Convert.ToDouble(value, CultureInfo.InvariantCulture) >= Convert.ToDouble(StartCorrect, CultureInfo.InvariantCulture) && Convert.ToDouble(value, CultureInfo.InvariantCulture) <= Convert.ToDouble(EndCorrect, CultureInfo.InvariantCulture))
                {
                    mapinf.MapColor  = "rgb(51, 51, 51);";
                    mapinf.LineColor = "#006699";
                    mapinf.TextColor = "white";
                    context.Clients.All.onHitRecorded(mapinf);
                    return("Green");
                }
                if (Convert.ToDouble(value, CultureInfo.InvariantCulture) > Convert.ToDouble(EndCorrect, CultureInfo.InvariantCulture) && Convert.ToDouble(value, CultureInfo.InvariantCulture) < Convert.ToDouble(TwoStartError, CultureInfo.InvariantCulture))
                {
                    mapinf.MapColor  = "yellow";
                    mapinf.LineColor = "yellow";
                    mapinf.TextColor = "black";
                    context.Clients.All.onHitRecorded(mapinf);
                    return("Yellow");
                }
                if (Convert.ToDouble(value, CultureInfo.InvariantCulture) >= Convert.ToDouble(TwoStartCrash, CultureInfo.InvariantCulture) && Convert.ToDouble(value, CultureInfo.InvariantCulture) <= Convert.ToDouble(TwoEndError, CultureInfo.InvariantCulture) || Convert.ToDouble(value, CultureInfo.InvariantCulture) >= Convert.ToDouble(TwoEndError, CultureInfo.InvariantCulture))
                {
                    mapinf.MapColor  = "red";
                    mapinf.LineColor = "red";
                    mapinf.TextColor = "white";
                    context.Clients.All.onHitRecorded(mapinf);
                    return("Red");
                }
            }
            context.Clients.All.onHitRecorded(mapinf);
            return("");
        }
Пример #2
0
        public AlarmStatusDescription AlarmColorDefines(string value, string CurrentOID, string ReturnedOID, List <AlarmLogStatus> alarmLog, TowerDevices tDevice)
        {
            bool status = false;
            AlarmStatusDescription alarmStatusDescription = new AlarmStatusDescription();

            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DeviceConnection"].ConnectionString))
            {
                alarmLog.ForEach(item =>
                {
                    MapViewInformation mapinformation = new MapViewInformation();

                    status = Regex.IsMatch(value, item.AlarmText);
                    if (status == true && item.CurrentOidText == CurrentOID && item.ReturnOidText == ReturnedOID)
                    {
                        alarmStatusDescription.AlarmStatusColor = item.AlarmStatus;
                        alarmStatusDescription.AlarmDescription = item.AlarmDescription;

                        var towerID = Convert.ToInt32(tDevice.TowerID.Substring(6, tDevice.TowerID.Length - 6));
                        var context = GlobalHost.ConnectionManager.GetHubContext <HubMessage>();

                        mapinformation.Value     = "";
                        mapinformation.TowerID   = towerID;
                        mapinformation.TowerLine = mapline.LinesCordinate(towerID);

                        var cord = connection.Query <TowerGps>($"select * from TowerGps where TowerID='{towerID}'").FirstOrDefault();

                        mapinformation.StartLattitube = Double.Parse(cord.Lattitube.Remove(cord.Lattitube.Length - 2), CultureInfo.InvariantCulture);
                        mapinformation.StartLongitube = Double.Parse(cord.Longitube.Remove(cord.Longitube.Length - 2), CultureInfo.InvariantCulture);
                        mapinformation.Name           = cord.TowerName;

                        if (item.AlarmStatus == "green")
                        {
                            mapinformation.MapColor  = "rgb(51, 51, 51)";
                            mapinformation.LineColor = "#006699";
                        }
                        else
                        {
                            mapinformation.MapColor  = item.AlarmStatus;
                            mapinformation.LineColor = item.AlarmStatus;
                        }

                        if (item.AlarmStatus == "yellow")
                        {
                            mapinformation.TextColor = "black";
                        }
                        else
                        {
                            mapinformation.TextColor = "white";
                        }

                        mapinformation.GetTrap = "trap";

                        context.Clients.All.onHitRecorded(mapinformation);
                    }
                });
            }
            if (alarmStatusDescription.AlarmStatusColor == null || alarmStatusDescription.AlarmStatusColor == "")
            {
                alarmStatusDescription.AlarmStatusColor = "white";
                alarmStatusDescription.AlarmDescription = " ";
            }

            return(alarmStatusDescription);
        }