Ejemplo n.º 1
0
        public ActionResult SendAlertMessage(String alertMessage, string selectedTrucks)
        {
            List <FleetVehicle> fleetVehicles = new List <FleetVehicle>();
            List <User>         users         = new List <User>();

            using (FSPDataContext dc = new FSPDataContext())
            {
                fleetVehicles = dc.FleetVehicles.ToList();
                users         = dc.Users.ToList();
            }

            using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
            {
                var trucks = new JavaScriptSerializer().Deserialize <IEnumerable <SelectedTruck> >(selectedTrucks);
                foreach (var truck in trucks)
                {
                    TowTruckServiceRef.TruckMessage message = new TowTruckServiceRef.TruckMessage();
                    message.MessageID   = Guid.NewGuid();
                    message.MessageText = alertMessage;
                    message.TruckIP     = fleetVehicles.Where(p => p.VehicleNumber == truck.truckNumber).FirstOrDefault().IPAddress;
                    message.UserID      = users.Where(p => p.Email == User.Identity.Name).FirstOrDefault().UserID;
                    message.SentTime    = DateTime.Now;
                    service.SendMessage(message);
                }
            }

            return(Json(true, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
 private TowTruckData[] GetAllTrucksInService()
 {
     TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient();
     TowTruckData[] serviceTowTrucks = service.CurrentTrucks();
     Util.WriteToLog(DateTime.Now + " " + serviceTowTrucks.Count() + " tow trucks retrieved from Service");
     return(serviceTowTrucks);
 }
Ejemplo n.º 3
0
        public ActionResult ExcuseAlarm(string vehicleNumber, string beatNumber, string alarmType, string driverName, string comments)
        {
            String retValue = String.Empty;

            if (!String.IsNullOrEmpty(alarmType) && !String.IsNullOrEmpty(vehicleNumber))
            {
                using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
                {
                    service.ExcuseAlarm(vehicleNumber, beatNumber, alarmType, driverName, comments);
                    Debug.WriteLine("Alarm Excused for " + vehicleNumber);
                    retValue = "Thank you! Alarm successfully excused";
                }
            }
            return(Json(retValue, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        public ActionResult ClearAlarm(string id, string alarmType)
        {
            String retValue = String.Empty;

            if (!String.IsNullOrEmpty(alarmType) && !String.IsNullOrEmpty(id))
            {
                using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
                {
                    service.ClearAlarm(id, alarmType);
                    Debug.WriteLine("Alarm Cleared for " + id);
                    retValue = "Thank you! Alarm successfully cleared";
                }
            }

            return(Json(retValue, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 5
0
        public static void CreateAssist(UIIncidentDispatch incidentDispatch)
        {
            using (FSPDataContext dc = new FSPDataContext())
            {
                using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
                {
                    TowTruckServiceRef.IncidentIn thisIncident = new TowTruckServiceRef.IncidentIn();

                    Guid     IncidentID = Guid.NewGuid();
                    DateTime TimeStamp  = DateTime.Now;

                    Guid CreatedBy = MembershipExtensions.GetUserId();

                    thisIncident.IncidentID     = IncidentID;
                    thisIncident.FreewayID      = Convert.ToInt32(incidentDispatch.FreewayId);
                    thisIncident.LocationID     = dc.Locations.Where(p => p.LocationCode == incidentDispatch.LocationName).FirstOrDefault().LocationID;
                    thisIncident.TimeStamp      = TimeStamp;
                    thisIncident.CreatedBy      = CreatedBy;
                    thisIncident.Description    = incidentDispatch.Description;
                    thisIncident.IncidentNumber = String.Empty;

                    //create incident
                    service.AddIncident(thisIncident);

                    //for each truck create assit

                    foreach (var truck in incidentDispatch.SelectedTrucks)
                    {
                        TowTruckServiceRef.AssistReq thisAssist = new TowTruckServiceRef.AssistReq();
                        thisAssist.AssistID = Guid.NewGuid();

                        thisAssist.IncidentID = IncidentID;

                        FleetVehicle dbTruck = dc.FleetVehicles.Where(p => p.VehicleNumber == truck).FirstOrDefault();

                        thisAssist.FleetVehicleID = dbTruck.FleetVehicleID;
                        thisAssist.ContractorID   = dbTruck.ContractorID;

                        thisAssist.DispatchTime = DateTime.Now;
                        thisAssist.x1097        = DateTime.Now;
                        service.AddAssist(thisAssist);
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public ActionResult UpdateAlarm(AlarmHistory alarm)
        {
            String retValue = String.Empty;

            if (alarm != null)
            {
                using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
                {
                    if (alarm.IsExcused)
                    {
                        service.ExcuseAlarm(alarm.VehicleNumber, alarm.BeatNumber, alarm.AlarmType, alarm.DriverName, alarm.Comments);
                        retValue = "Thank you! Alarm successfully excused";
                    }

                    else
                    {
                        service.UnexcuseAlarm(alarm.VehicleNumber, alarm.BeatNumber, alarm.AlarmType, alarm.DriverName, alarm.Comments);
                        retValue = "Thank you! Alarm successfully un-excused";
                    }
                }
            }

            return(Json(retValue, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        void UpdateAllTrucks()
        {
            UITowTruck truck = null;


            int iTruckUpdatesCount = 0;
            int iTruckDeleteCount  = 0;

            try
            {
                Util.WriteToLog(DateTime.Now + " Contacting Service");

                TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient();
                TowTruckData[] serviceTowTrucks = service.CurrentTrucks();
                Util.WriteToLog(DateTime.Now + " " + serviceTowTrucks.Count() + " tow trucks retrieved from Service");

                Boolean addTruck        = false;
                Boolean truckHasChanged = false;

                lock (towTrucks)
                {
                    for (int i = 0; i < serviceTowTrucks.Length; i++)
                    {
                        try
                        {
                            TowTruckData serviceTowTruck = serviceTowTrucks[i];


                            //check if this tow truck already exist in list
                            if (towTrucks.Any(p => p.TruckNumber.ToString() == serviceTowTruck.TruckNumber))
                            {
                                truck               = towTrucks.Single(p => p.TruckNumber == serviceTowTruck.TruckNumber);
                                addTruck            = false;
                                iTruckUpdatesCount += 1;

                                if (truck.Lat != serviceTowTruck.Lat)
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.Lon != serviceTowTruck.Lon)
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.Speed != serviceTowTruck.Speed)
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.Heading != serviceTowTruck.Heading)
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.Heading != serviceTowTruck.Heading)
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.BeatNumber != serviceTowTruck.BeatNumber.ToString())
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.LastMessage != serviceTowTruck.LastMessage.ToString())
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.DriverName != serviceTowTruck.DriverName.ToString())
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.ContractorName != serviceTowTruck.ContractorName.ToString())
                                {
                                    truckHasChanged = true;
                                }

                                if (truck.Location != serviceTowTruck.Location.ToString())
                                {
                                    truckHasChanged = true;
                                }
                            }
                            else
                            {
                                //new tow truck
                                iTruckUpdatesCount += 1;
                                truck            = new UITowTruck();
                                truck.LastUpdate = 0;
                                truck.Old        = false;
                                addTruck         = true;
                            }

                            truck.TruckNumber       = serviceTowTruck.TruckNumber == null ? "Not set" : serviceTowTruck.TruckNumber;
                            truck.BeatNumber        = serviceTowTruck.BeatNumber == null ? "Not set" : serviceTowTruck.BeatNumber;
                            truck.BeatSegmentNumber = "Not set";

                            truck.Speed       = serviceTowTruck.Speed;
                            truck.Lat         = serviceTowTruck.Lat;
                            truck.Lon         = serviceTowTruck.Lon;
                            truck.Heading     = serviceTowTruck.Heading;
                            truck.LastMessage = serviceTowTruck.LastMessage.ToString();

                            truck.DriverName     = serviceTowTruck.DriverName;
                            truck.ContractorName = serviceTowTruck.ContractorName;
                            truck.Location       = serviceTowTruck.Location;


                            #region State

                            truck.VehicleState = serviceTowTruck.VehicleState;

                            if (serviceTowTruck.VehicleState == "Waiting for Driver Login")
                            {
                                truck.VehicleStateIconUrl = "NIS.png";
                            }
                            else if (serviceTowTruck.VehicleState == "Driver Logged On")
                            {
                                truck.VehicleStateIconUrl = "InService.png";
                            }
                            else if (serviceTowTruck.VehicleState == "On Patrol")
                            {
                                truck.VehicleStateIconUrl = "InService.png";
                            }
                            else if (serviceTowTruck.VehicleState == "On Assist")
                            {
                                truck.VehicleStateIconUrl = "OnAssist.png";
                            }
                            else if (serviceTowTruck.VehicleState == "On Break")
                            {
                                truck.VehicleStateIconUrl = "OnBreak.png";
                            }
                            else if (serviceTowTruck.Alarms)
                            {
                                if (serviceTowTruck.SpeedingAlarm)
                                {
                                    truck.VehicleStateIconUrl = "MajorAlarm.png";
                                }
                                else if (serviceTowTruck.OutOfBoundsAlarm)
                                {
                                    truck.VehicleStateIconUrl = "MajorAlarm.png";
                                }
                            }

                            else
                            {
                                truck.VehicleStateIconUrl = "OCTA.png";
                            }
                            #endregion


                            if (addTruck)
                            {
                                towTrucks.Add(truck);

                                //Notify clients about new truck
                                Hub.Clients.addOrUpdateTruck(truck);
                            }
                            else
                            {
                                if (truckHasChanged)
                                {
                                    Util.WriteToLog("HUB: Truck " + truck.TruckNumber + " changed ");

                                    truck.LastUpdate = 0;
                                    //Notify clients about an existing truck only if truck has "changed"
                                    Hub.Clients.addOrUpdateTruck(truck);
                                }
                                else
                                {
                                    Util.WriteToLog("HUB: NO CHANGES TO " + truck.TruckNumber);

                                    truck.LastUpdate += Convert.ToInt32(ConfigurationManager.AppSettings["UpdateIntervalInMilliseconds"]) / 1000;

                                    //Notify clients about an existing truck only if truck has "changed"
                                    Hub.Clients.updateLastUpdateTime(truck.TruckNumber, truck.LastUpdate, truck.LastMessage);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Util.WriteToLog(ex.Message);
                        }
                    }


                    #region remove

                    try
                    {
                        for (int i = 0; i < towTrucks.Count(); i++)
                        {
                            try
                            {
                                UITowTruck uiTowTruck = towTrucks[i];

                                if (!serviceTowTrucks.Any(p => p.TruckNumber == uiTowTruck.TruckNumber.ToString()))
                                {
                                    iTruckDeleteCount += 1;
                                    uiTowTruck.Old     = true;
                                    //this ui tow truck is not in service any more. so remove it
                                    //towTrucks2.Remove(uiTowTruck);

                                    //Hub notification
                                    Hub.Clients.deleteTruck(uiTowTruck.TruckNumber);
                                }
                            }
                            catch (Exception ex)
                            {
                                Util.WriteToLog(ex.Message);
                            }
                        }
                        towTrucks.RemoveAll(p => p.Old == true);
                    }
                    catch (Exception ex)
                    {
                        Util.WriteToLog(ex.Message);
                    }



                    #endregion

                    Util.WriteToLog(DateTime.Now + "================Server: Total Number of trucks in local list: " + towTrucks.Count());
                    Util.WriteToLog(DateTime.Now + "================Server: Total Number of trucks updated: " + iTruckUpdatesCount);
                    Util.WriteToLog(DateTime.Now + "================Server: Total Number of trucks deleted: " + iTruckDeleteCount);
                }
            }
            catch (Exception ex)
            {
                Util.WriteToLog(ex.Message);
            }
        }
Ejemplo n.º 8
0
        void QueryService()
        {
            TowTruck2 truck = null;


            int iTruckUpdatesCount = 0;
            int iTruckDeleteCount  = 0;

            try
            {
                Util.WriteToLog(DateTime.Now + " Contacting Service");

                TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient();
                TowTruckData[] serviceTowTrucks = service.CurrentTrucks();
                Util.WriteToLog(DateTime.Now + " " + serviceTowTrucks.Count() + " tow trucks retrieved from Service");

                Boolean addTruck = false;

                lock (towTrucks2)
                {
                    for (int i = 0; i < serviceTowTrucks.Length; i++)
                    {
                        TowTruckData serviceTowTruck = serviceTowTrucks[i];

                        if (towTrucks2.Any(p => p.TruckId.ToString() == serviceTowTruck.TruckID))
                        {
                            truck               = towTrucks2.Single(p => p.TruckId.ToString() == serviceTowTruck.TruckID);
                            addTruck            = false;
                            iTruckUpdatesCount += 1;
                        }
                        else
                        {
                            iTruckUpdatesCount += 1;
                            truck     = new TowTruck2();
                            truck.Old = false;
                            addTruck  = true;
                        }

                        int truckId;
                        Int32.TryParse(serviceTowTruck.TruckID, out truckId);

                        truck.TruckId    = truckId;
                        truck.Speed      = serviceTowTruck.Speed;
                        truck.Lat        = serviceTowTruck.Lat;
                        truck.Lon        = serviceTowTruck.Lon;
                        truck.Heading    = serviceTowTruck.Heading;
                        truck.LastUpdate = "0 seconds ago";

                        #region State

                        truck.StateDescription = serviceTowTruck.VehicleState;

                        if (serviceTowTruck.VehicleState == "Waiting for Driver Login")
                        {
                            truck.StateImage = @"http://localhost/FSP.Web/Content/Images/NIS.png";
                        }

                        #endregion


                        if (addTruck)
                        {
                            towTrucks2.Add(truck);
                        }

                        // Notify the connected clients
                        Hub.Clients.addOrUpdateTruck(truck);
                    }


                    #region remove

                    try
                    {
                        for (int i = 0; i < towTrucks2.Count(); i++)
                        {
                            try
                            {
                                TowTruck2 uiTowTruck = towTrucks2[i];

                                if (!serviceTowTrucks.Any(p => p.TruckID == uiTowTruck.TruckId.ToString()))
                                {
                                    iTruckDeleteCount += 1;
                                    uiTowTruck.Old     = true;
                                    //this ui tow truck is not in service any more. so remove it
                                    //towTrucks2.Remove(uiTowTruck);

                                    //Hub notification
                                    Hub.Clients.deleteTruck(uiTowTruck.TruckId);
                                }
                            }
                            catch (Exception ex)
                            {
                                Util.WriteToLog(ex.Message);
                            }
                        }
                        towTrucks2.RemoveAll(p => p.Old == true);
                    }
                    catch (Exception ex)
                    {
                        Util.WriteToLog(ex.Message);
                    }



                    #endregion

                    Util.WriteToLog(DateTime.Now + "================Server: Total Number of trucks in local list: " + towTrucks2.Count());
                    Util.WriteToLog(DateTime.Now + "================Server: Total Number of trucks updated: " + iTruckUpdatesCount);
                    Util.WriteToLog(DateTime.Now + "================Server: Total Number of trucks deleted: " + iTruckDeleteCount);
                }
            }
            catch (Exception ex)
            {
                Util.WriteToLog(ex.Message);
            }
        }
Ejemplo n.º 9
0
        public ActionResult GetTowTrucks()
        {
            Random   ran   = new Random();
            TowTruck truck = null;

            try
            {
                if (ConfigurationManager.AppSettings["IsDemo"] == "true")
                {
                    #region Demo
                    Util.WriteToLog("Doing Tow Truck Demo...");

                    if (towTrucks == null)
                    {
                        //set up initial locations
                        towTrucks = new List <TowTruck>();

                        //#region Create a Two Truck for each State

                        //truck = new TowTruck();
                        //truck.TruckId = 123;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.7319;
                        //truck.Lon = -117.7927;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "InService";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 124;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.7619;
                        //truck.Lon = -117.8227;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "MajorAlarm";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 234;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.7919;
                        //truck.Lon = -117.8527;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "MinorAlarm";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 235;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.7939;
                        //truck.Lon = -117.7597;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "ModerateAlarm";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 345;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.7939;
                        //truck.Lon = -117.8997;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "NIS";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 346;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.7939;
                        //truck.Lon = -117.9597;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "OCTA";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 456;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.8939;
                        //truck.Lon = -117.9597;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "OnAssist";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 457;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.6939;
                        //truck.Lon = -117.9597;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "OnBreak";
                        //towTrucks.Add(truck);

                        //truck = new TowTruck();
                        //truck.TruckId = 567;
                        //truck.Speed = ran.Next(0, 70);
                        //truck.Lat = 33.6939;
                        //truck.Lon = -117.6597;
                        //truck.Heading = ran.Next(0, 180);
                        //truck.LastUpdate = DateTime.Now;
                        //truck.State = "TBD";
                        //towTrucks.Add(truck);

                        //#endregion

                        Util.WriteToLog(towTrucks.Count() + " tow trucks created for demo.");
                    }
                    else
                    {
                        //we have a trucks in the list. Now update their location and data
                        foreach (var towTruck in towTrucks)
                        {
                            //set random speed
                            towTruck.Speed = ran.Next(0, 70);

                            //add a degree to heading
                            towTruck.Heading = towTruck.Heading + 1;

                            int number = ran.Next(0, 20);
                            if (number % 2 != 0)
                            {
                                towTruck.Lat = towTruck.Lat - 0.0010;
                                towTruck.Lon = towTruck.Lon + 0.0010;
                            }
                            else
                            {
                                towTruck.Lat = towTruck.Lat + 0.0010;
                                towTruck.Lon = towTruck.Lon - 0.0010;
                            }

                            if (towTruck.Lat < 33.6539 || towTruck.Lat > 33.7939)
                            {
                                towTruck.Lat = 33.7319;
                            }


                            if (towTruck.Lon < -117.9597 || towTruck.Lon > -117.6597)
                            {
                                towTruck.Lon = -117.7927;
                            }


                            towTruck.LastUpdate = DateTime.Now;
                        }

                        Util.WriteToLog(towTrucks.Count() + " tow trucks updated for demo.");
                    }


                    #endregion
                }
                else
                {
                    Util.WriteToLog("Contacting Service");

                    TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient();
                    TowTruckData[] serviceTowTrucks = service.CurrentTrucks();
                    Util.WriteToLog(serviceTowTrucks.Count() + " tow trucks retrieved from Service");


                    if (towTrucks == null)
                    {
                        towTrucks = new List <TowTruck>();
                    }


                    Boolean addTruck = false;


                    lock (towTrucks)
                    {
                        for (int i = 0; i < serviceTowTrucks.Length; i++)
                        {
                            TowTruckData serviceTowTruck = serviceTowTrucks[i];

                            if (towTrucks.Any(p => p.TruckId == serviceTowTruck.TruckID))
                            {
                                truck    = towTrucks.Single(p => p.TruckId == serviceTowTruck.TruckID);
                                addTruck = false;
                            }
                            else
                            {
                                truck    = new TowTruck();
                                addTruck = true;
                            }

                            truck.TruckId    = serviceTowTruck.TruckID;
                            truck.Speed      = serviceTowTruck.Speed;
                            truck.Lat        = serviceTowTruck.Lat;
                            truck.Lon        = serviceTowTruck.Lon;
                            truck.Heading    = serviceTowTruck.Heading;
                            truck.LastUpdate = DateTime.Now;

                            #region State

                            if (serviceTowTruck.VehicleState == "Waiting for Driver Login")
                            {
                                truck.State = "NIS";
                            }


                            #endregion


                            if (addTruck)
                            {
                                towTrucks.Add(truck);
                            }
                        }
                    }
                }
            }
            catch { }

            return(Json(towTrucks, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 10
0
        public ActionResult HaveAlarms()
        {
            bool returnValue = false;

            using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
            {
                var alarms = service.GetAllAlarms().Where(p =>
                                                          p.RollInAlarm == true ||
                                                          p.RollOutAlarm == true ||
                                                          p.IncidentAlarm == true ||
                                                          p.LogOffAlarm == true ||
                                                          p.LogOnAlarm == true ||
                                                          p.GPSIssueAlarm == true ||
                                                          p.SpeedingAlarm == true ||
                                                          p.OutOfBoundsAlarm == true ||
                                                          p.StationaryAlarm == true).ToList();

                if (alarms.Any())
                {
                    //if (alarms.Any(p => p.RollInAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001" && p.RollInAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.RollOutAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001" && p.RollOutAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.IncidentAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001" && p.IncidentAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.LogOffAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001" && p.LogOffAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.LogOnAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001" && p.LogOnAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.OnPatrolAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001" && p.OnPatrolAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.GPSIssueAlarmStart.ToString("MM/dd/yyyy") != "01/01/2001" && p.GPSIssueAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;
                    //else if (alarms.Any(p => p.StationaryAlarmStart.ToString("MM/dd/yyyy") != "01/01/2001" && p.StationaryAlarmCleared.ToString("MM/dd/yyyy") != "01/01/2001"))
                    //    returnValue = true;

                    if (alarms.Any(p => p.RollInAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.RollOutAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.IncidentAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.LogOffAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.LogOnAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.OnPatrolAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.GPSIssueAlarmStart.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.StationaryAlarmStart.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.SpeedingTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                    else if (alarms.Any(p => p.OutOfBoundsStartTime.ToString("MM/dd/yyyy") != "01/01/2001"))
                    {
                        returnValue = true;
                    }
                }
            }

            return(Json(returnValue, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 11
0
        public ActionResult PostIncidentDispatchAjax(String direction, String freeway, String location, String crossStreet1, String crossStreet2, String comments, string selectedTrucks)
        {
            Boolean returnValue = true;

            try
            {
                using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
                {
                    TowTruckServiceRef.IncidentIn thisIncident = new TowTruckServiceRef.IncidentIn();

                    Guid     IncidentID = Guid.NewGuid();
                    DateTime TimeStamp  = DateTime.Now;

                    Guid CreatedBy = MembershipExtensions.GetUserId();
                    var  trucks    = new JavaScriptSerializer().Deserialize <IEnumerable <SelectedTruck> >(selectedTrucks);


                    String firstTruckBeatNumber = trucks.FirstOrDefault().beatNumberString;

                    thisIncident.IncidentID     = IncidentID;
                    thisIncident.Direction      = direction;
                    thisIncident.FreewayID      = Convert.ToInt32(freeway);
                    thisIncident.LocationID     = dc.Locations.Where(p => p.LocationCode == location).FirstOrDefault().LocationID;
                    thisIncident.BeatSegmentID  = new Guid("00000000-0000-0000-0000-000000000000");
                    thisIncident.BeatNumber     = firstTruckBeatNumber;
                    thisIncident.TimeStamp      = TimeStamp;
                    thisIncident.CreatedBy      = CreatedBy;
                    thisIncident.Description    = comments;
                    thisIncident.CrossStreet1   = crossStreet1;
                    thisIncident.CrossStreet2   = crossStreet2;
                    thisIncident.IncidentNumber = String.Empty;
                    thisIncident.Location       = "na";

                    //create incident
                    service.AddIncident(thisIncident);



                    //for each truck create assit

                    foreach (var truck in trucks)
                    {
                        TowTruckServiceRef.AssistReq thisAssist = new TowTruckServiceRef.AssistReq();
                        thisAssist.AssistID = Guid.NewGuid();

                        thisAssist.IncidentID = IncidentID;

                        FleetVehicle dbTruck = dc.FleetVehicles.Where(p => p.VehicleNumber == truck.truckNumber).FirstOrDefault();

                        thisAssist.FleetVehicleID = dbTruck.FleetVehicleID;
                        thisAssist.ContractorID   = dbTruck.ContractorID;


                        thisAssist.DispatchTime = DateTime.Now;
                        thisAssist.x1097        = DateTime.Now;
                        service.AddAssist(thisAssist);
                    }
                }
            }
            catch
            {
                returnValue = false;
            }


            return(Json(returnValue, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 12
0
        public ActionResult GetAssists()
        {
            List <UIAssist> returnList = new List <UIAssist>();

            String  contractorName = String.Empty;
            Boolean addTruck       = true;

            using (FSPDataContext dc = new FSPDataContext())
            {
                var user = dc.Users.Where(p => p.Email == User.Identity.Name).FirstOrDefault();

                if (user.Role.RoleName == "Contractor")
                {
                    contractorName = dc.Contractors.Where(p => p.ContractorID == user.ContractorID).FirstOrDefault().ContractCompanyName;
                }
                else
                {
                    contractorName = String.Empty;
                }
            }

            using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
            {
                var allAssists = from q in service.GetAllAssists()
                                 select new UIAssist
                {
                    AssistNumber   = q.AssistNumber,
                    BeatNumber     = q.BeatNumber,
                    Color          = q.Color,
                    DispatchNumber = q.DispatchNumber,
                    Driver         = q.DriverName,
                    DriverComments = q.Comments,
                    DropZone       = q.DropZone,
                    Make           = q.Make,
                    PlateNumber    = q.LicensePlate,
                    ContractorName = q.ContractorName
                };

                foreach (var assist in allAssists)
                {
                    if (!String.IsNullOrEmpty(contractorName))
                    {
                        if (contractorName == assist.ContractorName)
                        {
                            addTruck = true;
                        }
                        else
                        {
                            addTruck = false;
                        }
                    }
                    else
                    {
                        addTruck = true;
                    }

                    if (addTruck)
                    {
                        returnList.Add(assist);
                    }
                }
            }

            return(Json(returnList.OrderBy(p => p.BeatNumber), JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 13
0
        public ActionResult GetAlerts()
        {
            AlarmStatus[]      alarmStatuses = new AlarmStatus[0];
            List <AlarmStatus> returnList    = new List <AlarmStatus>();

            using (TowTruckServiceRef.TowTruckServiceClient service = new TowTruckServiceRef.TowTruckServiceClient())
            {
                alarmStatuses = service.GetAllAlarms();
                Debug.WriteLine(alarmStatuses.Count() + " alarms received");
            }

            bool isValid = false;

            foreach (var item in alarmStatuses)
            {
                isValid = false;

                if (item.RollInAlarm == true && item.RollInAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.RollOutAlarm == true && item.RollOutAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.IncidentAlarm == true && item.IncidentAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.LogOffAlarm == true && item.LogOffAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.LogOnAlarm == true && item.LogOnAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.GPSIssueAlarm == true && item.GPSIssueAlarmStart.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.OnPatrolAlarm == true && item.OnPatrolAlarmTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.SpeedingAlarm == true && item.SpeedingTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }
                if (item.OutOfBoundsAlarm == true && item.OutOfBoundsStartTime.ToString("MM/dd/yyyy") != "01/01/2001")
                {
                    isValid = true;
                }



                if (isValid)
                {
                    returnList.Add(item);
                }
            }

            var alarms = returnList.OrderBy(p => p.BeatNumber).ThenBy(p => p.VehicleNumber).ThenBy(p => p.DriverName).ToList();

            Debug.WriteLine(alarms.Count() + " alarms returned");
            return(Json(alarms, JsonRequestBehavior.AllowGet));
        }