コード例 #1
0
        public void postWazeData(WAZEClass waze, string callSign, string DriverName)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
            sb.Append("<incidents xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"http://www.gstatic.com/road-incidents/incidents_feed.xsd\">");
            sb.Append("<incident id=\"" + waze.incidentID + "\">");
            sb.Append("<creationtime>" + makeDate(waze.creationtime) + "</creationtime>");
            sb.Append("<updatetime>" + makeDate(waze.updatetime) + "</updatetime>");
            sb.Append("<type>" + waze.type + "</type>");
            sb.Append("<description>" + waze.description + "</description>");
            sb.Append("<location>");
            sb.Append("<street>" + waze.location.street + "</street>");
            sb.Append("<polyline>" + waze.location.polyline + "</polyline>");
            sb.Append("</location>");
            sb.Append("<starttime>" + makeDate(waze.creationtime) + "</starttime>");
            sb.Append("<endtime>" + makeDate(waze.updatetime) + "</endtime>");
            sb.Append("</incident>");
            sb.Append("</incidents>");
            string output = sb.ToString();

            SQL.SQLCode sql = new SQL.SQLCode();
            sql.logOutgoingWAZE(output, callSign, DriverName);
            if (DataClasses.GlobalData.wazeFeed.Count > 0)
            {
                for (int i = DataClasses.GlobalData.wazeFeed.Count - 1; i >= 0; i--)
                {
                    if (DataClasses.GlobalData.wazeFeed[i].incidentID == waze.incidentID)
                    {
                        DataClasses.GlobalData.wazeFeed.RemoveAt(i);
                    }
                }
            }
            DataClasses.GlobalData.wazeFeed.Add(waze);
        }
コード例 #2
0
ファイル: Global.asax.cs プロジェクト: XenaTechSIS/OCTA-XT
        protected void Application_Start(object sender, EventArgs e)
        {
            SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));

            UDP.UDPServer myServer = new UDP.UDPServer();
            DataClasses.TowTruckCleanser myCleanser = new DataClasses.TowTruckCleanser();

            MiscData.LogonCheck myCheck  = new MiscData.LogonCheck();
            Logging.EventLogger myLogger = new Logging.EventLogger();
            myLogger.LogEvent(DateTime.Now.ToString() + Environment.NewLine + "FSP Service Started", false);
            //Data loaded once during run of application.
            SQL.SQLCode mySQL         = new SQL.SQLCode();
            int         SpeedingValue = Convert.ToInt32(mySQL.GetVarValue("Speeding"));

            DataClasses.GlobalData.SpeedingValue = SpeedingValue;
            mySQL.LoadCode1098s();
            mySQL.LoadFreeways();
            mySQL.LoadIncidentTypes();
            mySQL.LoadLocationCoding();
            mySQL.LoadServiceTypes();
            mySQL.LoadTowLocations();
            mySQL.LoadTrafficSpeeds();
            mySQL.LoadVehiclePositions();
            mySQL.LoadVehicleTypes();
            mySQL.LoadContractors();
            mySQL.LoadLeeways();
            mySQL.LoadBeatSchedules();
            mySQL.LoadDropZones();
            BeatData.Beats.LoadBeats();
            BeatData.Beats.LoadBeatSegments();
            BeatData.YardClass.LoadYards();
            DataClasses.BulkLogger  myBulkLogger = new DataClasses.BulkLogger();
            DataClasses.TruckDumper myDumper     = new DataClasses.TruckDumper();
        }
コード例 #3
0
 public static void LoadCallBoxes()
 {
     SQL.SQLCode mySQL = new SQL.SQLCode();
     callBoxList.Clear();
     mySQL.loadCallBoxData();
     callBoxList.Clear();
 }
コード例 #4
0
ファイル: GetWAZE.cs プロジェクト: XenaMac/MTC
        public static void addWazeData(wazeXML x)
        {
            wazeXML found = wazes.Find(delegate(wazeXML find) { return(find.uuid == x.uuid); });

            if (found == null) //only add if we don't already have one with the same uuid
            {
                x.dispatched = false;
                x.acked      = false;
                x.accepted   = false;
                wazes.Add(x);
                SQL.SQLCode sql = new SQL.SQLCode();
                sql.logIncomingWaze(x);
            }
            else
            {
                found.city         = x.city;
                found.confidence   = x.confidence;
                found.country      = x.country;
                found.lat          = x.lat;
                found.lon          = x.lon;
                found.nThumbsUp    = x.nThumbsUp;
                found.pubDate      = x.pubDate;
                found.reliability  = x.reliability;
                found.reportRating = x.reportRating;
                found.roadType     = x.roadType;
                found.segment      = x.segment;
                found.street       = x.street;
                found.subtype      = x.subtype;
                found.title        = x.title;
                found.type         = x.type;
                found.uuid         = x.uuid;
            }
        }
コード例 #5
0
        void tmrLogTrucks_Elapsed(object sender, ElapsedEventArgs e)
        {
            SQL.SQLCode mySQL = new SQL.SQLCode();
            foreach (TowTruck.TowTruck thisTruck in DataClasses.GlobalData.currentTrucks.ToList())
            {
                bool Alarms = false;
                TowTruck.AlarmTimer alarmSpd = thisTruck.tta.truckAlarms.Find(delegate(TowTruck.AlarmTimer findSpd) { return(findSpd.alarmName == "Speeding"); });
                TowTruck.AlarmTimer alarmOB  = thisTruck.tta.truckAlarms.Find(delegate(TowTruck.AlarmTimer findOB) { return(findOB.alarmName == "OffBeat"); });
                thisTruck.tta.checkAlarms();
                if (thisTruck.tta.hasAlarms == true)
                {
                    Alarms = true;
                }

                ArrayList arrParams = new ArrayList();
                arrParams.Add("@Direction^" + thisTruck.GPSPosition.Head);
                arrParams.Add("@VehicleStatus^" + thisTruck.Status.VehicleStatus);
                arrParams.Add("@LastUpdate^" + thisTruck.GPSPosition.Time.ToString());
                arrParams.Add("@VehicleID^" + thisTruck.TruckNumber);
                arrParams.Add("@Speed^" + thisTruck.GPSPosition.Speed.ToString());
                arrParams.Add("@Alarms^" + Alarms);
                arrParams.Add("@DriverID^" + thisTruck.Driver.DriverID.ToString());
                arrParams.Add("@CallSign^" + thisTruck.Driver.callSign);
                arrParams.Add("@AssignedShift^" + thisTruck.Driver.AssignedShift);
                arrParams.Add("@VehicleNumber^" + thisTruck.Identifier.ToString());
                arrParams.Add("@SpeedingAlarm^" + alarmSpd.hasAlarm.ToString());
                arrParams.Add("@SpeedingValue^" + alarmSpd.alarmValue);
                arrParams.Add("@SpeedingTime^" + alarmSpd.alarmStart.ToString());
                arrParams.Add("@OutOfBoundsAlarm^" + alarmOB.hasAlarm.ToString());
                arrParams.Add("@OutOfBoundsMessage^" + alarmOB.alarmValue);
                string CellVal;
                if (string.IsNullOrEmpty(thisTruck.GPSPosition.Cell))
                {
                    CellVal = "NA";
                }
                else
                {
                    CellVal = thisTruck.GPSPosition.Cell;
                }
                arrParams.Add("@Cell^" + CellVal);
                arrParams.Add("@runID^" + thisTruck.runID);
                arrParams.Add("@AssignedBeat^" + thisTruck.beatNumber);
                arrParams.Add("@Beat^" + thisTruck.beatNumber);
                arrParams.Add("@BeatSegment^" + thisTruck.location);
                arrParams.Add("@Lat^" + thisTruck.GPSPosition.Lat);
                arrParams.Add("@Lon^" + thisTruck.GPSPosition.Lon);
                if (alarmSpd.hasAlarm)
                {
                    arrParams.Add("@SLat^" + thisTruck.GPSPosition.Lat);
                    arrParams.Add("@SLon^" + thisTruck.GPSPosition.Lon);
                }
                else
                {
                    arrParams.Add("@SLat^0.0");
                    arrParams.Add("@SLon^0.0");
                }
                mySQL.LogGPS("SetGPS", arrParams);
            }
        }
コード例 #6
0
 /*
  * public static void LoadBeats() {
  *  SQL.SQLCode mySQL = new SQL.SQLCode();
  *  beatList.Clear();
  *  mySQL.loadBeatData();
  *  beatData.Clear();
  *  beatData = mySQL.getBeatData();
  * }
  */
 public static void LoadBeatInfo()
 {
     SQL.SQLCode sql = new SQL.SQLCode();
     beatInfos.Clear();
     sql.loadBeatInformation();
     beatData.Clear();
     beatData = sql.getBeatData();
 }
コード例 #7
0
ファイル: GlobalData.cs プロジェクト: XenaTechSIS/OCTA-XT
        public static void AckTruckMessage(Guid MessageID)
        {
            TruckMessage foundMessage = theseMessages.Find(delegate(TruckMessage myMessage) { return(myMessage.MessageID == MessageID); });

            foundMessage.Acked     = true;
            foundMessage.AckedTime = DateTime.Now;
            SQL.SQLCode mySQL = new SQL.SQLCode();
            mySQL.AckTruckMessage(foundMessage);
        }
コード例 #8
0
ファイル: GlobalData.cs プロジェクト: XenaTechSIS/OCTA-XT
        public static void AddIncident(MiscData.Incident thisIncident)
        {
            try
            {
                MiscData.Incident thisFoundIncident = Incidents.Find(delegate(MiscData.Incident i) { return(i.IncidentID == thisIncident.IncidentID); });
                if (thisFoundIncident == null)
                {
                    Incidents.Add(thisIncident);
                }
                else
                {
                    /*  this code was rewriting existing incidents from drivers, which we don't want to do.  Logic moved to update incident
                     * var _incident = Incidents.Find(i => i.IncidentID == thisIncident.IncidentID);
                     * _incident.Location = thisIncident.Location;
                     * _incident.FreewayID = thisIncident.FreewayID;
                     * _incident.LocationID = thisIncident.LocationID;
                     * _incident.BeatSegmentID = thisIncident.BeatSegmentID;
                     * _incident.TimeStamp = thisIncident.TimeStamp;
                     * _incident.CreatedBy = thisIncident.CreatedBy;
                     * _incident.Description = thisIncident.Description;
                     * _incident.IncidentNumber = thisIncident.IncidentNumber;
                     * _incident.CrossStreet1 = thisIncident.CrossStreet1;
                     * _incident.CrossStreet2 = thisIncident.CrossStreet2;
                     * _incident.Direction = thisIncident.Direction;
                     * */
                    //UpdateIncident(thisIncident);
                }
                //Log to database, proc will update or insert based on existing data
                SQL.SQLCode mySQL = new SQL.SQLCode();

                mySQL.RunProc("LogIncident", GetIncidentArray(thisIncident));
            }
            catch (Exception ex)
            {
                string msg = DateTime.Now.ToString() + Environment.NewLine;
                msg += "Error Logging Incident" + Environment.NewLine;
                msg += Environment.NewLine;
                msg += "Incident ID: " + thisIncident.IncidentID.ToString() + Environment.NewLine;
                msg += "FreeWay ID: " + thisIncident.FreewayID.ToString() + Environment.NewLine;
                msg += "Location: " + thisIncident.Location + Environment.NewLine;
                msg += "Location ID: " + thisIncident.LocationID.ToString() + Environment.NewLine;
                msg += "Beat Segment ID: " + thisIncident.BeatSegmentID.ToString() + Environment.NewLine;
                msg += "Time Stamp: " + thisIncident.TimeStamp.ToString() + Environment.NewLine;
                msg += "Created By: " + thisIncident.CreatedBy.ToString() + Environment.NewLine;
                msg += "Description: " + thisIncident.Description + Environment.NewLine;
                msg += "Incident Number: " + thisIncident.IncidentNumber + Environment.NewLine;
                msg += "Cross Street 1: " + thisIncident.CrossStreet1 + Environment.NewLine;
                msg += "Cross Street 2: " + thisIncident.CrossStreet2 + Environment.NewLine;
                msg += "Direction: " + thisIncident.Direction + Environment.NewLine;
                msg += "Beat Number: " + thisIncident.BeatNumber + Environment.NewLine;
                msg += "DispatchNumber: " + thisIncident.IncidentNumber;
                msg += Environment.NewLine;
                msg += ex.ToString();
                logger.LogEvent(msg, true);
            }
        }
コード例 #9
0
 public static void LoadBeats() //completely reinitializes in-memory beat list
 {
     try
     {
         SQL.SQLCode mySQL = new SQL.SQLCode();
         AllBeats = mySQL.LoadBeatsOnly();
     }
     catch (Exception ex)
     {
         logger.LogEvent(DateTime.Now.ToString() + Environment.NewLine + "Error Loading All Beats" + Environment.NewLine + ex.ToString(), true);
     }
 }
コード例 #10
0
 public static void deleteBeatInfoData(Guid id)
 {
     for (int i = beatInfos.Count - 1; i >= 0; i--)
     {
         if (beatInfos[i].ID == id)
         {
             beatInfos.RemoveAt(i);
         }
     }
     SQL.SQLCode sql = new SQL.SQLCode();
     sql.deleteBeatData(id);
 }
コード例 #11
0
ファイル: LogOffDriver.aspx.cs プロジェクト: XenaMac/MTC
        private void driverLogoff(string truckNumber)
        {
            TowTruck.TowTruck thisTruck = DataClasses.GlobalData.FindTowTruckByVehicleNumber(truckNumber);
            if (thisTruck != null)
            {
                SQL.SQLCode mySQL = new SQL.SQLCode();
                thisTruck.tts.startStatus("LogOff", thisTruck.TruckNumber, thisTruck.Driver.FirstName + " " + thisTruck.Driver.LastName,
                                          thisTruck.Driver.TowTruckCompany, thisTruck.beatNumber, thisTruck.GPSPosition.Lat, thisTruck.GPSPosition.Lon, thisTruck.runID, thisTruck.location,
                                          thisTruck.GPSPosition.Speed, thisTruck.GPSPosition.Head, thisTruck.Driver.schedule.scheduleID);
                mySQL.LogEvent(thisTruck.Driver.DriverID, "Driver Log Off");
                DataClasses.GlobalData.RemoveCover(thisTruck.TruckNumber);
                string cadMSG = "DU.";
                cadMSG += thisTruck.shiftType + "." + thisTruck.Driver.callSign;
                Global.cSender.sendMessage(cadMSG);
                mySQL.closeOutTruck(thisTruck.runID);
                thisTruck.Status.VehicleStatus   = "Waiting for Driver Login";
                thisTruck.Driver.DriverID        = new Guid("00000000-0000-0000-0000-000000000000");
                thisTruck.Driver.FSPID           = "";
                thisTruck.Driver.FirstName       = "No Driver";
                thisTruck.Driver.LastName        = "No Driver";
                thisTruck.Driver.TowTruckCompany = "No Driver";
                thisTruck.Driver.schedule        = null;
                //thisTruck.Driver.BreakStarted = Convert.ToDateTime("01/01/2001 00:00:00");

                /* OLD OCTA CODE - NOT USED IN MTC
                 * thisTruck.assignedBeat.BeatID = new Guid("00000000-0000-0000-0000-000000000000");
                 * thisTruck.assignedBeat.BeatExtent = null;
                 * thisTruck.assignedBeat.BeatNumber = "Not Assigned";
                 * thisTruck.assignedBeat.Loaded = false;
                 * */
                thisTruck.beatNumber                = "NOBEAT";
                thisTruck.Status.SpeedingTime       = Convert.ToDateTime("01/01/2001 00:00:00");
                thisTruck.Status.OutOfBoundsTime    = Convert.ToDateTime("01/01/2001 00:00:00");
                thisTruck.Status.SpeedingValue      = "0.0";
                thisTruck.Status.OutOfBoundsMessage = "Not logged on";
                thisTruck.Status.OutOfBoundsAlarm   = false;
                thisTruck.Status.SpeedingAlarm      = false;
                thisTruck.Status.StatusStarted      = DateTime.Now;
                //thisTruck.thisSchedule = null;
                thisTruck.runID = new Guid("00000000-0000-0000-0000-000000000000");
                //reset status and alarms for truck
                thisTruck.tts             = null;
                thisTruck.tta             = null;
                thisTruck.tts             = new TowTruck.TruckStatus();
                thisTruck.tta             = new TowTruck.TowTruckAlarms();
                thisTruck.wentOnPatrol    = false;
                thisTruck.rolledIn        = false;
                thisTruck.Driver.schedule = null;
                thisTruck.cadCallSign     = "NA";
                string msg = "<SetVar><Id>" + MakeMsgID() + "</Id><LoggedOn>F</LoggedOn></SetVar>";
                thisTruck.SendMessage(msg);
            }
        }
コード例 #12
0
 public static void deleteDropSite(Guid id)
 {
     for (int i = dropSites.Count - 1; i >= 0; i--)
     {
         if (dropSites[i].ID == id)
         {
             dropSites.RemoveAt(i);
         }
     }
     SQL.SQLCode sql = new SQL.SQLCode();
     sql.deleteDropSiteData(id);
 }
コード例 #13
0
 public static void deleteCallBoxPolygonData(Guid id)
 {
     for (int i = callBoxList.Count - 1; i >= 0; i--)
     {
         if (callBoxList[i].ID == id)
         {
             callBoxList.RemoveAt(i);
         }
     }
     SQL.SQLCode sql = new SQL.SQLCode();
     sql.deleteCallBoxData(id);
 }
コード例 #14
0
 public static void LoadBeatSegments()
 {
     try
     {
         SQL.SQLCode mySQL = new SQL.SQLCode();
         AllBeatSegments = mySQL.LoadSegmentsOnly();
     }
     catch (Exception ex)
     {
         logger.LogEvent(DateTime.Now.ToString() + Environment.NewLine + "Error Loading All Beat Segments" + Environment.NewLine + ex.ToString(), true);
     }
 }
コード例 #15
0
ファイル: BeatSegments.cs プロジェクト: XenaMac/MTC
 public static void deleteBeatSegmentPolygonData(Guid id)
 {
     for (int i = bsPolyList.Count - 1; i >= 0; i--)
     {
         if (bsPolyList[i].ID == id)
         {
             bsPolyList.RemoveAt(i);
         }
     }
     SQL.SQLCode sql = new SQL.SQLCode();
     sql.deleteBeatSegmentData(id);
 }
コード例 #16
0
ファイル: TowTruckSetup.aspx.cs プロジェクト: XenaMac/MTC
        protected void btnAddNewTruck_Click(object sender, EventArgs e)
        {
            Guid ContractorID = new Guid(ddlContractors.SelectedValue);

            TowTruck.TowTruck thisTruck = DataClasses.GlobalData.FindTowTruck(txtIPAddress.Text);
            if (thisTruck != null)
            {
                thisTruck.TruckNumber = txtTruckNumber.Text;
            }
            DataClasses.GlobalData.UpdateTowTruck(txtIPAddress.Text, thisTruck);
            SQL.SQLCode mySQL = new SQL.SQLCode();
            mySQL.FixTruckNumber(txtIPAddress.Text, txtTruckNumber.Text, ContractorID);
        }
コード例 #17
0
 protected void btnSetVar_Click(object sender, EventArgs e)
 {
     SQL.SQLCode mySQL = new SQL.SQLCode();
     mySQL.SetVarValue(txtVarName.Text, txtVarValue.Text);
     if (txtVarName.Text == "Speeding")
     {
         DataClasses.GlobalData.SpeedingValue = Convert.ToInt32(txtVarValue.Text);
     }
     if (txtVarName.Text.Contains("Leeway"))
     {
         mySQL.LoadLeeways();
     }
 }
コード例 #18
0
ファイル: GetWAZE.cs プロジェクト: XenaMac/MTC
        public static void setActiveBeats(string beats)
        {
            string[]      splitter = beats.Split(',');
            List <string> beatList = new List <string>();

            for (int i = 0; i < splitter.Count(); i++)
            {
                beatList.Add(splitter[i].ToString());
            }
            activeBeats = beatList;
            SQL.SQLCode sql = new SQL.SQLCode();
            sql.setActiveBeats(beats);
        }
コード例 #19
0
 public static void addCallBoxPolygonData(esriCB b)
 {
     for (int i = callBoxList.Count - 1; i >= 0; i--)
     {
         if (callBoxList[i].ID == b.ID)
         {
             callBoxList.RemoveAt(i);
         }
     }
     SQL.SQLCode sql = new SQL.SQLCode();
     sql.updateCallBoxData(b);
     callBoxList.Add(b);
 }
コード例 #20
0
        public static void deleteYard(Guid id)
        {
            for (int i = yards.Count - 1; i >= 0; i--)
            {
                if (yards[i].ID == id)
                {
                    yards.RemoveAt(i);
                }
            }

            SQL.SQLCode sql = new SQL.SQLCode();
            sql.deleteYardData(id);
        }
コード例 #21
0
 public static void addBeatInfoData(beatInformation b)
 {
     for (int i = beatInfos.Count - 1; i >= 0; i--)
     {
         if (beatInfos[i].ID == b.ID)
         {
             beatInfos.RemoveAt(i);
         }
     }
     SQL.SQLCode sql = new SQL.SQLCode();
     sql.updateBeatInfos(b);
     beatInfos.Add(b);
 }
コード例 #22
0
        void dumpTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            List <dataDump> dumpData = new List <dataDump>();

            foreach (TowTruck.TowTruck t in DataClasses.GlobalData.currentTrucks)
            {
                //if (t.Status.VehicleStatus != "Waiting for Driver Login")
                //{
                dataDump d = new dataDump();
                d.TruckNumber = t.TruckNumber;
                d.timeStamp   = t.LastMessage.LastMessageReceived;
                d.Driver      = t.Driver.LastName + ", " + t.Driver.FirstName;
                d.CallSign    = t.Driver.callSign;
                d.Contractor  = t.Extended.ContractorName;
                d.Status      = t.tts.currentStatus;
                d.Schedule    = t.Driver.AssignedShift;
                d.Beat        = t.beatNumber;
                d.BeatSegment = t.location;
                d.Speed       = t.GPSPosition.Speed;
                d.Lat         = t.GPSPosition.Lat;
                d.Lon         = t.GPSPosition.Lon;
                d.Heading     = t.GPSPosition.Head;
                if (t.tta.hasAlarms == true)
                {
                    d.HasAlarm = 1;
                    string alarmData = string.Empty;
                    foreach (TowTruck.AlarmTimer at in t.tta.truckAlarms)
                    {
                        if (at.hasAlarm == true)
                        {
                            alarmData += at.alarmName + " " + at.alarmValue + ":";
                        }
                    }
                    d.AlarmInfo = alarmData;
                }
                else
                {
                    d.HasAlarm  = 0;
                    d.AlarmInfo = "NO ALARMS";
                }
                d.RunID = t.runID;
                dumpData.Add(d);
                //}
            }
            if (dumpData.Count > 0)
            {
                SQL.SQLCode mysQL = new SQL.SQLCode();
                mysQL.dumpPlaybackData(dumpData);
            }
        }
コード例 #23
0
ファイル: AddTruck.aspx.cs プロジェクト: XenaMac/MTC
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         SQL.SQLCode   mySQL       = new SQL.SQLCode();
         List <string> contractors = mySQL.getContractors();
         cboContractors.Items.Clear();
         cboContractors.Items.Add("SELECT");
         foreach (string s in contractors)
         {
             cboContractors.Items.Add(s);
         }
     }
 }
コード例 #24
0
 public void StopTimer(Guid alarmID, string statusName, string truckNumber, string driverName, string contractorCompany, string Beat,
                       double lat, double lon, Guid runID, string location, double speed, int heading, Guid ScheduleID)
 {
     if (tmrRunning == true)
     {
         statusEnd = DateTime.Now;
         tmrStatus.Stop();
         TimeSpan ts = statusEnd - statusStart;
         statusMinutes += Convert.ToInt32(ts.TotalMinutes);
         tmrRunning     = false;
         sql            = new SQL.SQLCode();
         sql.logStatus(alarmID, statusName, truckNumber, driverName, contractorCompany, Beat, statusStart, statusEnd, lat, lon, runID, location, speed, heading, ScheduleID);
     }
 }
コード例 #25
0
ファイル: GlobalData.cs プロジェクト: XenaTechSIS/OCTA-XT
        public static void AddTruckMessage(TruckMessage thisMessage)
        {
            SQL.SQLCode  mySQL        = new SQL.SQLCode();
            TruckMessage foundMessage = theseMessages.Find(delegate(TruckMessage myMessage) { return(myMessage.MessageID == thisMessage.MessageID); });

            if (foundMessage == null)
            {
                theseMessages.Add(thisMessage);
                mySQL.LogTruckMessage(thisMessage);
            }
            else
            {
                foundMessage = thisMessage;
                mySQL.LogTruckMessage(thisMessage);
            }
        }
コード例 #26
0
ファイル: Global.asax.cs プロジェクト: XenaMac/MTC
        protected void Application_Start(object sender, EventArgs e)
        {
            SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));

            myServer = new UDP.UDPServer();
            DataClasses.TowTruckCleanser myCleanser = new DataClasses.TowTruckCleanser();
            MiscData.LogonCheck          myCheck    = new MiscData.LogonCheck();
            Logging.EventLogger          myLogger   = new Logging.EventLogger();
            myLogger.LogEvent(DateTime.Now.ToString() + Environment.NewLine + "FSP Service Started", false);
            //Data loaded once during run of application.
            SQL.SQLCode mySQL         = new SQL.SQLCode();
            int         SpeedingValue = Convert.ToInt32(mySQL.GetVarValue("Speeding"));

            DataClasses.GlobalData.SpeedingLeeway = SpeedingValue;
            mySQL.LoadIncidentTypes();
            mySQL.LoadLocationAbbreviations();
            mySQL.LoadVehiclePositions();
            mySQL.LoadVehicleTypes();
            mySQL.LoadTransportations();
            mySQL.LoadHighwaysBeats();
            mySQL.LoadBeatsFreeways();
            mySQL.LoadLeeways();
            mySQL.LoadBeatSchedules();
            mySQL.LoadCallSigns();
            mySQL.LoadSchedules();
            mySQL.LoadFreeways();
            //mySQL.loadBeatData();

            mySQL.loadBeatInformation();
            mySQL.loadBeatSegmentData();
            mySQL.loadYardData();
            mySQL.loadDropSiteData();
            mySQL.loadCallBoxData();
            mySQL.loadActiveBeats();
            DataClasses.BulkLogger           myBulkLogger = new DataClasses.BulkLogger();
            DataClasses.TruckDumper          myDumper     = new DataClasses.TruckDumper();
            DataClasses.SurveyControlChecker check        = new DataClasses.SurveyControlChecker(); //loop the running surveys and kill any that should be stopped
            MiscData.DataDumper dump = new MiscData.DataDumper();                                   //dump the playback data every 30 seconds
            WAZE.GetWAZE.startLooping();                                                            //loop check the WAZE feed, monitor and maintain everything


            /* ****************
             * CAD INTEGRATORS
             * ***************/
            cListener = new CADIntegration.CADListener();
            cSender   = new CADIntegration.CADSender();
        }
コード例 #27
0
ファイル: SetLeeways.aspx.cs プロジェクト: XenaMac/MTC
 protected void btnUpdateVars_Click(object sender, EventArgs e)
 {
     SQL.SQLCode mySQL = new SQL.SQLCode();
     mySQL.SetVarValue("ExtendedLeeway", txtExtended.Text);
     mySQL.SetVarValue("LogOffLeeway", txtLogOff.Text);
     mySQL.SetVarValue("LogOnLeeway", txtLogOn.Text);
     mySQL.SetVarValue("GPSIssueLeeway", txtGPSIssue.Text);
     mySQL.SetVarValue("OffBeatLeeway", txtOffBeat.Text);
     mySQL.SetVarValue("OnPatrolLeeway", txtOnPatrol.Text);
     mySQL.SetVarValue("RollInLeeway", txtRollIn.Text);
     mySQL.SetVarValue("RollOutLeeway", txtRollOut.Text);
     mySQL.SetVarValue("SpeedingLeeway", txtSpeeding.Text);
     mySQL.SetVarValue("StationaryLeeway", txtStationary.Text);
     mySQL.SetVarValue("ForcedOffLeeway", txtForceLogoff.Text);
     mySQL.LoadLeeways();
     mySQL = null;
     GetVars();
 }
コード例 #28
0
        public Guid StartTimer(string statusName, string truckNumber, string driverName, string contractorCompany, string Beat, double lat, double lon,
                               Guid runID, string location, double speed, int heading, Guid ScheduleID)
        {
            Guid g = new Guid();

            if (tmrRunning == false)
            {
                statusStart    = DateTime.Now;
                statusEnd      = Convert.ToDateTime("01/01/2001 00:00:00");
                currentMinutes = 0;
                g = Guid.NewGuid();
                tmrStatus.Start();
                sql = new SQL.SQLCode();
                sql.logStatus(g, statusName, truckNumber, driverName, contractorCompany, Beat, statusStart, statusEnd, lat, lon, runID, location, speed, heading, ScheduleID);
                tmrRunning = true;
            }

            return(g);
        }
コード例 #29
0
 public void clearAlarm(Guid _runID, Guid _alertID)
 {
     alarmCleared = DateTime.Now;
     if (isRunning() || this.alarmName.ToUpper() == "LATEONPATROL" || this.alarmName.ToUpper() == "EARLYOUTOFSERVICE")
     {
         alarmEnd = DateTime.Now;
         tmrStatus.Stop();
         TimeSpan ts = alarmEnd - alarmStart;
         alarmMinutes += Convert.ToInt32(ts.TotalMinutes);
         tmrRunning    = false;
         hasAlarm      = false;
         sql           = new SQL.SQLCode();
         sql.clearAlarm(_runID, _alertID);
         if (this.alarmName.ToUpper() != "LATEONPATROL" && this.alarmName.ToUpper() != "EARLYOUTOFSERVICE")
         {
             _alarmID = new Guid("00000000-0000-0000-0000-000000000000");
         }
     }
     hasAlarm = false; //fix for Onpatrol and roll in alarms that start and stop but keep the alarm status = true
 }
コード例 #30
0
 public void logAlarm(string truckNumber, string driverName, string contractorCompany, string Beat, string AlertName, double lat, double lon,
                      Guid runID, string location, double speed, int heading, string CallSign, Guid ScheduleID, int ScheduleType)
 {
     if (tmrRunning == true && alarmLogged == false)
     {
         sql        = new SQL.SQLCode();
         alarmStart = DateTime.Now;
         hasAlarm   = true;
         sql.LogAlert(_alarmID, truckNumber, driverName, contractorCompany, Beat, AlertName, alarmStart, alarmEnd, lat, lon, runID, location, speed, heading, CallSign, ScheduleID, ScheduleType);
         if (AlertName.ToUpper() == "OVERTIMEACTIVITY")
         {
             TowTruck t = DataClasses.GlobalData.currentTrucks.Find(delegate(TowTruck find) { return(find.TruckNumber == truckNumber); });
             if (t != null)
             {
                 sql.logOverTime(t.Driver.schedule.ScheduleName, t.Driver.callSign, t.beatNumber, t.Extended.ContractorName);
             }
         }
         alarmLogged = true;
     }
 }