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); //} }
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; } }
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 } }
public virtual void AckReceived(TowTruck towTruck) { }
public virtual void FailToSend(TowTruck towTruck) { Console.WriteLine("A message requiring an ACK failed."); }
public virtual void ExecuteMessage(TowTruck towTruck) { //LMTServerLog.log("Execute message to unknown type of message"); }