Exemple #1
0
 public virtual void Execute(TowTruck towTruck)
 {
     //updated 10/11/2011, added hashtable to LMT class to track messages already acked. 
     //Check to see if a message has been acked before sending it out again.
     //if (!lmt.msgIDs.ContainsValue(id))
     //{
     ExecuteMessage(towTruck);
     //}
 }
Exemple #2
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;
     }
 }
Exemple #3
0
        public void StopAlarm(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)
            {
                alarmEnd = DateTime.Now;
                tmrStatus.Stop();
                TimeSpan ts;
                if (alarmStart != Convert.ToDateTime("01/01/2001 00:00:00"))
                {
                    ts = alarmEnd - alarmStart;
                }
                else
                {
                    alarmStart = statusStarted;
                    ts         = alarmEnd - alarmStart;
                }

                alarmMinutes = Convert.ToInt32(ts.TotalMinutes);
                tmrRunning   = false;

                alarmLogged = false;
                if (hasAlarm == true || (AlertName == "LateOnPatrol" || AlertName == "EarlyOutOfService"))
                {
                    sql = new SQL.SQLCode();
                    sql.LogAlert(_alarmID, truckNumber, driverName, contractorCompany, Beat, AlertName, alarmStart, alarmEnd, lat, lon, runID, location, speed, heading, CallSign, ScheduleID, ScheduleType);
                }
                if ((AlertName == "LongBreak" || AlertName == "LongLunch" || AlertName == "Stationary" ||
                     AlertName == "OffBeat" || AlertName == "LateOnPatrol" || AlertName == "EarlyOutOfService") && hasAlarm == true)
                {
                    try
                    {
                        AlarmLog al = new AlarmLog();
                        TowTruck t  = DataClasses.GlobalData.FindTowTruckByVehicleNumber(truckNumber);
                        if (t == null)
                        {
                            return;
                        }
                        Guid BeatID = sql.GetBeatIDByBeatNumber(Beat);
                        al.CreatedBy           = "FSP Service";
                        al.CreatedOn           = DateTime.Now;
                        al.ContractorID        = t.Extended.ContractorID;
                        al.DateTimeOfViolation = DateTime.Now;
                        al.BeatID            = BeatID;
                        al.DriverID          = t.Driver.DriverID;
                        al.FleetVehicleId    = t.Extended.FleetVehicleID;
                        al.CallSign          = t.Driver.callSign;
                        al.AlarmName         = AlertName;
                        al.AlertTime         = alarmStart;
                        al.LengthOfViolation = alarmMinutes;
                        //sub breakout
                        if (AlertName == "LongBreak")
                        {
                            if (alarmMinutes < 60)
                            {
                                //this is a breaks violation (#49)
                                al.ViolationTypeId = 49;
                            }
                            if (alarmMinutes > 60)
                            {
                                //this is a service failure (#46)
                                al.ViolationTypeId = 46;
                            }
                        }
                        if (AlertName == "LongLunch")
                        {
                            if (alarmMinutes <= 75)
                            {
                                //this is a breaks violation (#49)
                                al.ViolationTypeId = 49;
                            }
                            if (alarmMinutes > 75)
                            {
                                //this is a service failure (#46)
                                al.ViolationTypeId = 46;
                            }
                        }
                        if (AlertName == "Stationary")
                        {
                            if (alarmMinutes <= 60)
                            {
                                //this is a breaks violation (#49)
                                al.ViolationTypeId = 49;
                            }
                            if (alarmMinutes > 60)
                            {
                                //this is a service failure (#46)
                                al.ViolationTypeId = 46;
                            }
                        }
                        if (AlertName == "OffBeat")
                        {
                            if (alarmMinutes <= 60)
                            {
                                //this is a breaks violation (#49)
                                al.ViolationTypeId = 49;
                            }
                            if (alarmMinutes > 60)
                            {
                                //this is a service failure (#46)
                                al.ViolationTypeId = 46;
                            }
                        }
                        if (AlertName == "LateOnPatrol")
                        {
                            TimeSpan lop = DateTime.Now - t.Driver.schedule.start;
                            if (lop.TotalMinutes <= 60)
                            {
                                al.ViolationTypeId = 49;
                            }
                            if (lop.TotalMinutes > 60)
                            {
                                al.ViolationTypeId = 46;
                            }
                            al.LengthOfViolation = (int)lop.TotalMinutes;
                        }
                        if (AlertName == "EarlyOutOfService")
                        {
                            TimeSpan lop = t.Driver.schedule.end - DateTime.Now;
                            if (lop.TotalMinutes <= 60)
                            {
                                al.ViolationTypeId = 49;
                            }
                            if (lop.TotalMinutes > 60)
                            {
                                al.ViolationTypeId = 46;
                            }
                            al.LengthOfViolation = (int)lop.TotalMinutes;
                        }
                        //log it to the violations table.
                        al.Lat     = t.GPSPosition.Lat;
                        al.Lon     = t.GPSPosition.Lon;
                        al.runID   = t.runID;
                        al.AlarmID = _alarmID;
                        if (al.ContractorID != new Guid("00000000-0000-0000-0000-000000000000") && al.DriverID != new Guid("00000000-0000-0000-0000-000000000000") &&
                            al.FleetVehicleId != new Guid("00000000-0000-0000-0000-000000000000"))
                        {
                            sql.logViolation(al);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.ToString());
                    }
                }
                if (AlertName != "LateOnPatrol" && AlertName != "EarlyOutOfService")
                {
                    hasAlarm     = false;
                    _alarmID     = new Guid("00000000-0000-0000-0000-000000000000");
                    alarmMinutes = 0;
                    alarmStart   = Convert.ToDateTime("01/01/2001 00:00:00");
                }

                //check for possible violation-type Alarms
            }
        }
Exemple #4
0
 public virtual void AckReceived(TowTruck towTruck)
 {
 }
Exemple #5
0
 public virtual void FailToSend(TowTruck towTruck)
 {
     Console.WriteLine("A message requiring an ACK failed.");
 }
Exemple #6
0
 public virtual void ExecuteMessage(TowTruck towTruck)
 {
     //LMTServerLog.log("Execute message to unknown type of message");
 }