public PatrolDetailsViewModel() { Patrol = new PatrolLastLocationDTO(); LayersGraphicsDictionary = new Dictionary <string, ObservableCollection <Graphic> >(); GetLayerObservable(); }
public List <PatrolLastLocationDTO> GetPatrolsLocations() { var result = new List <PatrolLastLocationDTO>(); var tfmService = new TFMIntegration(); var allLocations = tfmService.GetAllPatrolLocation(); if (allLocations != null) { var allStatus = new PatrolStatusDAL().GetPatrolStatusList(); for (int i = 0; i < allLocations.Count(); i++) { var patrolCode = allLocations[i].Name; var patrolPlate = allLocations[i].Name; var patrolArr = allLocations[i].Name.Split('/'); if (patrolArr.Count() == 2) { patrolCode = patrolArr[0]; patrolPlate = patrolArr[1]; } var patrolLastLocation = new PatrolLastLocationDTO { Latitude = allLocations[i].Latitude, Longitude = allLocations[i].Longitude, PatrolCode = patrolCode, Speed = allLocations[i].Speed, PatrolPlateNo = patrolPlate, LocationDate = allLocations[i].LocationDate.AddHours(4), PatrolOriginalId = allLocations[i].PatrolId, isPatrol = true, StatusId = allLocations[i].StatusId, }; if (allStatus != null && allStatus.Any(x => x.PatrolStatusId == patrolLastLocation.StatusId)) { patrolLastLocation.StatusName = allStatus.FirstOrDefault(x => x.PatrolStatusId == patrolLastLocation.StatusId).PatrolStatus; } result.Add(patrolLastLocation); } } return(result); }
private void AddNearPatrols(List <PatrolLastLocationDTO> Patrols) { Application.Current.Dispatcher.Invoke(() => { PatrolsList.Clear(); foreach (var patrol in Patrols) { patrol.ImgCheckedSource = "../images/false.png"; PatrolsList.Add(patrol); } GetAllETA(Patrols); return; Application.Current.Dispatcher.Invoke(() => { PatrolsList.Clear(); var recommendedPatrol = _crsipServicesClient.RecommendCar(Latitude, Longitude); if (recommendedPatrol != null) { recommendedPatrol.IsRecommended = true; if (!Patrols.Any(p => p.PatrolId == recommendedPatrol.PatrolId)) { var recommendedPatrolDto = new PatrolLastLocationDTO() { Latitude = recommendedPatrol.Latitude, Altitude = recommendedPatrol.Altitude, Longitude = recommendedPatrol.Longitude, NumberOfAssignedIncident = recommendedPatrol.NumberOfAssignedIncident, PatrolId = recommendedPatrol.PatrolId, PatrolPlateNo = recommendedPatrol.PatrolPlateNo, PatrolCode = recommendedPatrol.PatrolCode, IsNoticed = recommendedPatrol.IsNoticed, LocationDate = recommendedPatrol.LocationDate, PatrolLatLocationId = recommendedPatrol.PatrolLatLocationId, Speed = recommendedPatrol.Speed, StatusName = recommendedPatrol.StatusName, PatrolOriginalId = recommendedPatrol.PatrolOriginalId, StatusId = recommendedPatrol.StatusId, ImgCheckedSource = "../images/false.png", IsRecommended = recommendedPatrol.IsRecommended, ETATime = recommendedPatrol.ETATime, CreationDate = recommendedPatrol.CreationDate }; Patrols.Add(recommendedPatrolDto); //Patrols.Insert(0, recommendedPatrolDto); } else { Patrols.FirstOrDefault(x => x.PatrolId == recommendedPatrol.PatrolId).IsRecommended = true; //var recPat = Patrols.FirstOrDefault(x => x.PatrolId == recommendedPatrol.PatrolId).IsRecommended = true; //Patrols.Remove(Patrols.FirstOrDefault(x => x.PatrolId == recommendedPatrol.PatrolId)); //Patrols.Insert(0, recPat); } } Patrols.OrderBy(p => p.IsRecommended); foreach (var patrol in Patrols) { patrol.ImgCheckedSource = "../images/false.png"; PatrolsList.Add(patrol); } //var handler = PatrolsAdded; //if (handler != null) // handler(this, new EventArgs()); }); }); }