public void Go(WantedCarLocationChanged message) { //ScaleSOP(); var vm = this.DataContext as SOPViewModel; MessageTypeSOPParentModel obj = null; MessageTypeSOPModel SOPItem = null; if (vm != null && vm.SopList.Count > 0) { var currentMessage = vm.GetCurrentMessageObject(); if (currentMessage != null && (currentMessage as SOPGeneralMessage).OriginalObject != null) { WantedCarToSOPMessage wantedcar = ((SOPGeneralMessage)currentMessage).OriginalObject as WantedCarToSOPMessage; if (wantedcar != null && wantedcar.VehiclePlateNumber == message.PlateNumber) { wantedcar.Latitude = message.Lat.Value; wantedcar.Longitude = message.Lon.Value; } else return; foreach (var item in vm.SopList.Where(x => x.SOPItems.Any(y => y.UserControlModel != null && y.UserControlModel.Any() && y.UserControlModel.FirstOrDefault() is PatrolsListViewModel)).ToList()) { var patrolListVM = item.SOPItems.FirstOrDefault().UserControlModel.FirstOrDefault(); Utility.CallMethodUsingReflector(patrolListVM, "ProcessMessage", new WantedCarModel { Latitude = wantedcar.Latitude, Longitude = wantedcar.Longitude, TowerId = wantedcar.TowerId, VehiclePlateNumber = wantedcar.VehiclePlateNumber, PlateKind = wantedcar.VehiclePlateKind, PlateType = wantedcar.VehiclePlateType, PlateSource = wantedcar.VehiclePlateSource, PlateColor = wantedcar.VehiclePlateColor }); //if (item.SOPItems.Count > 0) //{ // MessageTypeSOPModel m = item.SOPItems.FirstOrDefault(x => x.ListUserControlMessageType == "PatrolsListViewModel"); // if(m != null) // { // Utility.CallMethodUsingReflector(m, "ProcessMessage", new WantedCarModel { Latitude = wantedcar.Latitude,Longitude = wantedcar.Longitude,TowerId = wantedcar.TowerId,VehiclePlateNumber = wantedcar.VehiclePlateNumber}); // return; // } // //MessageTypeSOPModel m = item.SOPItems.Where(x => x.UserControlDetailsControl == "CamerasListActionPanelUserControl").FirstOrDefault(); // //if (m != null) // //{ // // obj = item; // // SOPItem = m; // // break; // //} //} } if (obj != null) { OpenDetails(obj); //PopupCanvas.Children.Clear(); //if (SOPItem.UserControlDetailsControl != null) //{ // var usrCnt = sopViewModel.GetUserControl(SOPItem.UserControlDetailsControl, SOPItem.DetailsUserControlMessageType, SOPItem.DetailsMessageXSLT) as UserControl; // if (usrCnt != null) // { // Utility.CallMethodUsingReflector(usrCnt, "UpdateCameras", message); // } //} } } } }
public void Go(WantedCarToSOPMessage Message) { ScaleSOP(); ScaleGridBasicInfo(); _sopActiveStepIndex = 0; var client = new ServiceLayerReference.ServiceLayerClient(); bool isArabic = Utility.GetLang() == "ar"; long messageId = 0; string type = isArabic ? Message.Discription : Message.EnglishDiscription; if (long.TryParse(Message.MessageId, out messageId)) { var ruleDTO = client.GetMessageBusinessRule(messageId); if (ruleDTO != null) { type = ruleDTO.BusinessName; } } sopViewModel.EventDetailsList = new System.Collections.ObjectModel.ObservableCollection<EventDetailModel>() { new EventDetailModel { Name = isArabic ? "نوع المخالفة" : "Violation Type", Value = type }, new EventDetailModel { Name = isArabic ? "التاريخ والوقت" : "Date & Time", Value = Message.CreatedDate.ToString("dd/MM/yyyy HH:mm") }, new EventDetailModel { Name = isArabic ? "نوع المركبة" : "Vehicle Type", Value = isArabic ? "سيارة":"Car" }, new EventDetailModel { Name = Properties.Resources.strPlateNum, Value = Message.VehiclePlateNumber }, new EventDetailModel { Name = isArabic ? "المكان" : "Location", Value = client.GetAssetLocation((int)Message.TowerId,isArabic) } , new EventDetailModel { Name = isArabic ? "رقم الرادار" : "Radar Code", Value = client.GetAssetSerialNumber(Message.TowerId) } }; var assignedPatrols = sopViewModel.GetAssignedPatrols(Message.NotificationId); if (assignedPatrols != null && assignedPatrols.Any()) { foreach (var assignedPatrol in assignedPatrols) { sopViewModel.EventDetailsList.Add(new EventDetailModel() { Name = isArabic ? "رقم الدورية المدرجة" : "Assigned patrol code", Value = assignedPatrol.PatrolCode }); } } sopViewModel.GetSOP(new SOPGeneralMessage { MessageId = Message.MessageId, GeneralType = SOPSources.WantedCar, OriginalObject = Message, NotificationId = Message.NotificationId }); }