Exemplo n.º 1
0
        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;
                                // }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        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());
            }
        }
Exemplo n.º 3
0
        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);
                        //    }
                        //}
                    }
                }
            }
        }