private void OpenDetails(MessageTypeSOPParentModel obj) { if (obj != null && obj.SOPItems.Count > 0) { var sopItem = obj.SOPItems[0]; if (sopItem != null) { HandlePatrolClick(sopItem); CloseCanvas(); //ReturnToDefaultScaleGridBasicInfo(); if (sopItem.UserControlDetailsControl != null) { var usrCnt = sopViewModel.GetUserControl(sopItem.UserControlDetailsControl, sopItem.DetailsUserControlMessageType, sopItem.DetailsMessageXSLT) as UserControl; if (usrCnt != null) { try { Utility.CallMethodUsingReflector(usrCnt, "SetParentUserControl", this); if (sopItem.UserControlDetailsControl == "PatrolsListUserControl") this.Publish(new ViewPatrolLayer()); } catch (Exception ex) { } RegisterReqEvents(usrCnt); AddChildItem(usrCnt, 730); //ScaleGridBasicInfo(); var pItem = SopListPanel.Items[0] as MessageTypeSOPParentModel; if (pItem != null) { //if (pItem.SOPItems[0].UserControlModel == null) //{ // pItem.IsExpanded = false; //} //else //{ // pItem.IsChecked = true; pItem.IsExpanded = true; // } } } } } } }
private void AddNewSOP(List <MessageTypeSOPDTO> List) { if (List == null || List.Count == 0) { Application.Current.Dispatcher.Invoke(() => { if (SopList.Count > 0) { IsExpanded = true; IsEnabled = true; } else { IsExpanded = false; IsEnabled = false; } }); return; } Application.Current.Dispatcher.Invoke(() => { int count = SopList.Count; for (int i = 0; i < count; i++) { SopList.RemoveAt(0); } }); foreach (var item in List) { Application.Current.Dispatcher.Invoke(() => { var sop = new MessageTypeSOPParentModel { IsChecked = false, BorderBackground = "#252525", ImgCheckedSource = "images/false.png", RankForeground = "#FFFFFF", MessageTypeId = item.MessageTypeId, MessageTypeName = item.MessageTypeName, Rank = item.Rank, SOPContent = item.SOPContent, SOPId = item.SOPId, IsParent = true, IsExpanded = false, SOPItems = new List <MessageTypeSOPModel> { new MessageTypeSOPModel { BorderBackground = "#252525", IsParent = false, UserControlDetailsControl = item.SOPDetailsControlName, DetailsUserControlMessageType = item.SOPDetailsDataMessageType, DetailsMessageXSLT = item.SOPDetailsXSLT, ListMessageXSLT = item.SOPListXSLT, ListUserControlMessageType = item.SOPListDataMessageType } } }; if (!string.IsNullOrEmpty(item.SOPControlName) && sop.SOPItems.Count > 0) { sop.SOPItems[0].UserControlModel = new List <object> { GetUserControlObject(item.SOPControlName, item.SOPListDataMessageType, item.SOPListXSLT) }; } SopList.Add(sop); }); } Application.Current.Dispatcher.Invoke(() => { if (SopList.Count > 0) { IsExpanded = true; IsEnabled = true; } else { IsExpanded = false; IsEnabled = false; } }); var handler = LoadSteps; if (handler != null) { handler(this, new CanvasEventArgs()); } }
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); // } //} } } } }