예제 #1
0
        /// <summary>
        /// 设定单个频率规划周围台站区域
        /// </summary>
        /// <param name="obj"></param>

        void xfreqPartPlanList_OnAreaSelect(FreqPlanActivity obj)
        {
            busyIndicator.IsBusy = true;
            ShowMap.RemoveSymbolElement(freqPlanGroup + obj.Guid);

            CreateAroundStationArea(freqPlanGroup + obj.Guid, obj.Distance, (calls, call1, call2) =>
            {
                busyIndicator.IsBusy = false;
                if (calls != null && calls.Length > 0)//xgh
                {
                    obj.Points = new CustomPoint[calls.Length];
                    for (int i = 0; i < calls.Length; i++)
                    {
                        obj.Points[i]   = new CustomPoint();
                        obj.Points[i].X = calls[i].X;
                        obj.Points[i].Y = calls[i].Y;
                    }
                    obj.StartPoint.X = call1.X;
                    obj.StartPoint.Y = call1.Y;
                    obj.EndPoint.X   = call2.X;
                    obj.EndPoint.Y   = call2.Y;
                    if (_activityPlaceInfo != null)
                    {
                        obj.PlaceId = _activityPlaceInfo.Guid;
                    }
                }
            });
        }
예제 #2
0
        //private List<FreqPlanSegment> GetFreqPartPlan()
        //{
        //    try
        //    {
        //        return PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, List<FreqPlanSegment>>(channel =>
        //        {
        //            return channel.GetFreqPlanInfo();
        //        });
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.GetExceptionMessage());
        //        return null;
        //    }
        //}

        //private List<FreqPlanActivity> GetActivityFreqPlanInfoSource(string pPlaceId)
        //{
        //    try
        //    {
        //        //List<FreqPlanActivity> freqPlanActivitys =
        //        return PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, List<FreqPlanActivity>>(channel =>
        //        {
        //            return channel.GetFreqPlanActivitys(pPlaceId);
        //        });
        //        //if (freqPlanActivitys != null)
        //        //    xfreqPartPlanList.FreqPlanInfoItemsSource = new System.Collections.ObjectModel.ObservableCollection<FreqPlanActivity>(freqPlanActivitys);
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.GetExceptionMessage());
        //        return null;
        //    }
        //}

        private void listBoxEdit_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            FreqPlanActivity fps = (FreqPlanActivity)listBoxEdit.SelectedItem;

            if (fps == null)
            {
                return;
            }

            AT_BC.Data.Range <double> freqValue = fps.FreqValue;
            spin_start.Text                = ((int)(freqValue.Little / 1000000)).ToString();
            spin_stop.Text                 = ((int)(freqValue.Great / 1000000)).ToString();
            spin_bandWidth.Text            = (Convert.ToDouble(fps.FreqBand.Split('/')[0]) / 1000).ToString();
            _viewmodel.FreqDataCollect.FPS = fps;

            List <Data.ActivityEquipmentInfo> equimentList = new List <ActivityEquipmentInfo>();

            equimentList.AddRange(fps.ApplyEquipments);
            _viewmodel.FreqDataCollect.EquipmentList = equimentList;

            ChangeTextBoxsEnable(false);
            //if (pFreqPlanList != null && pFreqPlanList.Count > 0)
            //{
            //    List<Data.ActivityEquipmentInfo> equimentList = new List<ActivityEquipmentInfo>();
            //    foreach (FreqPlanActivity plan in pFreqPlanList)
            //    {
            //        equimentList.AddRange(plan.ApplyEquipments);
            //    }
            //    _viewmodel.FreqDataCollect.EquipmentList = equimentList;
            //}

            btnStop.Command.Execute(null);
            btnStart.Command.Execute(null);
        }
예제 #3
0
        //private List<FreqPlanSegment> GetFreqPartPlan()
        //{
        //    try
        //    {
        //        return PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, List<FreqPlanSegment>>(channel =>
        //        {
        //            return channel.GetFreqPlanInfo();
        //        });
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.GetExceptionMessage());
        //        return null;
        //    }
        //}

        //private List<FreqPlanActivity> GetActivityFreqPlanInfoSource(string pPlaceId)
        //{
        //    try
        //    {
        //        return PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, List<FreqPlanActivity>>(channel =>
        //        {
        //            return channel.GetFreqPlanActivitys(pPlaceId);
        //        });
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.GetExceptionMessage());
        //        return null;
        //    }
        //}

        private void listBoxEdit_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var plan = listBoxEdit.SelectedItem as FreqPlanActivity;

            _currentPlan = plan;

            if (_currentPlan == null)
            {
                return;
            }
            if (_currentPlan.FreqValue != null)
            {
                x_widebandFreq.Clear();
                x_widebandFreq.MeasureUnit = "dBμV";
                x_widebandFreq.InitSpectrumProperty(null, null, _currentPlan.FreqValue.Little, _currentPlan.FreqValue.Great);
                x_widebandFreq.Update();
            }

            if (_timer != null)
            {
                _timer.Tick -= Timer_Tick;
                _timer.Stop();
            }
            _timer          = new DispatcherTimer();
            _timer.Tick    += Timer_Tick;
            _timer.Interval = TimeSpan.FromMilliseconds(1);
            _timer.Start();
        }
예제 #4
0
        private void ApplyFreqToValue(ref List <FreqPlanActivity> pFreqActivitys)
        {
            //调用接口,获取当前频率使用数量
            EquipmentQueryCondition queryCondition = new EquipmentQueryCondition();

            queryCondition.PlaceGuid = ActivityPlaceId;
            try
            {
                List <ActivityEquipmentInfo> activityEquipmentInfos =
                    PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, List <ActivityEquipmentInfo> >(channel =>
                {
                    return(channel.GetEquipmentInfos(queryCondition));
                });
                if (activityEquipmentInfos != null && activityEquipmentInfos.Count > 0)
                {
                    for (int i = 0; i < pFreqActivitys.Count; i++)
                    {
                        FreqPlanActivity freqActivity = pFreqActivitys[i];
                        pFreqActivitys[i].ApplyFreqPointNum = activityEquipmentInfos.Where(p => p.AssignFreq * 1000000 >= freqActivity.FreqValue.Little &&
                                                                                           p.AssignFreq * 1000000 <= freqActivity.FreqValue.Great).Count();
                        pFreqActivitys[i].ApplyEquipments =
                            activityEquipmentInfos.Where(p => p.AssignFreq * 1000000 >= freqActivity.FreqValue.Little && p.AssignFreq * 1000000 <=
                                                         freqActivity.FreqValue.Great).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.GetExceptionMessage());
            }
        }
예제 #5
0
        private List <ActivityEquipmentInfo> GetActivityEquipmentInfo1(FreqPlanActivity p_freqPlan)
        {
            EquipmentQueryCondition equipCondition = new EquipmentQueryCondition();

            equipCondition.ActivityGuid = "344BF3F8C4DF4CCCB7DCC341DC8EEBB0";//p_freqPlan.ActivityId;
            equipCondition.IsMobile     = true;
            //equipCondition.PlaceGuid = SystemLoginService.CurrentActivityPlace.Guid;
            return(DataOperator.GetTaskListInfosByParam(equipCondition));
        }
예제 #6
0
        public void SetCondition(string p_monitorPlanID)
        {
            _monitorPlanID = p_monitorPlanID;
            var plan = listBoxEdit.SelectedItem as FreqPlanActivity;

            _currentPlan = plan;
            listBoxEdit_MouseLeftButtonUp(null, null);
            //ShowChartAndData();
        }
예제 #7
0
        private List <FreqPlanActivity> SelectFreqPartConvert(List <FreqPlanSegment> obj)
        {
            List <FreqPlanActivity> freqActivitys = new List <FreqPlanActivity>(obj.Count);

            for (int i = 0; i < obj.Count; i++)
            {
                FreqPlanSegment freqActivity = new FreqPlanActivity();
                StructClone.ClassClone(obj[i], ref freqActivity);
                ((FreqPlanActivity)freqActivity).ActivityId = CO_IA.Client.RiasPortal.ModuleContainer.Activity.Guid;
                ((FreqPlanActivity)freqActivity).PlaceId    = _activityPlaceId;
                freqActivitys.Add((FreqPlanActivity)freqActivity);
            }
            return(freqActivitys);
        }
        private void stationdatagrid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (stationdatagrid.SelectedItem == null)
            {
                return;
            }
            FreqPlanActivity freqPlanActivity =
                PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, FreqPlanActivity>(channel =>
            {
                return(channel.GetSingFreqPlanActivity(((RoundStationInfo)stationdatagrid.SelectedItem).FreqActivityGuid));
            });

            if (OnShowAroundArea != null && freqPlanActivity != null)
            {
                OnShowAroundArea(freqPlanActivity);
            }
        }
        private void btnAreaSelect_Click(object sender, RoutedEventArgs e)
        {
            var dataGridRow = VisualTreeHelperExtension.GetParentObject <DataGridRow>(sender as UIElement);

            while (dataGridRow != null)
            {
                if (dataGridRow is DataGridRow && (dataGridRow.DataContext.GetType() == typeof(FreqPlanActivity)))
                {
                    _selFreqPlan = (FreqPlanActivity)dataGridRow.DataContext;
                    break;
                }
            }
            DialogExtendDistance dialog = new DialogExtendDistance();

            dialog.OnSetDistance += dialog_OnSetDistance;
            dialog.ShowDialog(this);
        }
예제 #10
0
        /// <summary>
        /// 点击显示周围台站区域
        /// </summary>
        /// <param name="obj"></param>

        void xfreqPartPlanList_OnShowAroundArea(FreqPlanActivity obj)
        {
            var clearObj = ShowMap.DrawList.Where(itm => itm.Key.StartsWith(freqPlanGroup)).Select(p => p.Key).ToList();

            if (clearObj != null && clearObj.Count > 0)
            {
                for (int i = 0; i < clearObj.Count; i++)
                {
                    ShowMap.RemoveSymbolElement(clearObj[i]);
                }
            }
            if (obj.Points != null && obj.Points.Length > 0)
            {
                List <MapPointEx> ps = new List <MapPointEx>();
                for (int i = 0; i < obj.Points.Length; i++)
                {
                    ps.Add(ShowMap.MainMap.MapPointFactory.Create(obj.Points[i].X, obj.Points[i].Y));
                }
                ShowMap.DrawPolygon(ps, freqPlanGroup + obj.Guid, null, null);
            }
        }
예제 #11
0
        //private List<FreqPlanActivity> GetFreqPlanActivitys(List<string> p_freqIdList)
        //{
        //    List<FreqPlanActivity> list = new List<FreqPlanActivity>();
        //    foreach (string freqId in p_freqIdList)
        //    {
        //        FreqPlanActivity actFreq = PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke<I_CO_IA.FreqPlan.I_CO_IA_FreqPlan, FreqPlanActivity>(channel =>
        //        {
        //            FreqPlanActivity freqPlanActivity = channel.GetSingFreqPlanActivity(freqId);
        //            return freqPlanActivity;
        //        });
        //        if (actFreq != null)
        //            list.Add(actFreq);
        //    }

        //    return list;
        //}

        private List <FreqPlanActivity> GetFreqPlanActivitysNew(List <MonitorPlanInfo> p_List)
        {
            List <FreqPlanActivity> list = new List <FreqPlanActivity>();

            if (p_List != null)
            {
                foreach (var planInfo in p_List)
                {
                    FreqPlanActivity actFreq = new FreqPlanActivity();
                    actFreq.ActivityId       = planInfo.ActivityGuid;
                    actFreq.ClassCode        = planInfo.Key;
                    actFreq.FreqValue.Little = planInfo.MHzFreqFrom;
                    actFreq.FreqValue.Great  = planInfo.MHzFreqTo;
                    actFreq.FreqBand         = planInfo.kHzBand.ToString();
                    actFreq.FreqId           = planInfo.Key;
                    if (actFreq != null)
                    {
                        list.Add(actFreq);
                    }
                }
            }
            return(list);
        }
예제 #12
0
 /// <summary>
 /// 处理为选择周围台站区域的,赋予默认区域
 /// </summary>
 /// <param name="arg1"></param>
 /// <param name="arg2"></param>
 void MapLoad_Control_OnInitAreaSelect(FreqPlanActivity arg1, Action arg2)
 {
     if (arg1.Points != null && arg1.Points.Length > 0)
     {
         return;
     }
     CreateAroundStationArea(freqPlanGroup + arg1.Guid, arg1.Distance, (calls, call1, call2) =>
     {
         if (calls == null || calls.Length == 0)//xgh
         {
             if (arg2 != null)
             {
                 arg2();
             }
             return;
         }
         arg1.Points = new CustomPoint[calls.Length];
         for (int i = 0; i < calls.Length; i++)
         {
             arg1.Points[i]   = new CustomPoint();
             arg1.Points[i].X = calls[i].X;
             arg1.Points[i].Y = calls[i].Y;
         }
         arg1.StartPoint.X = call1.X;
         arg1.StartPoint.Y = call1.Y;
         arg1.EndPoint.X   = call2.X;
         arg1.EndPoint.Y   = call2.Y;
         if (_activityPlaceInfo != null)
         {
             arg1.PlaceId = _activityPlaceInfo.Guid;
         }
         if (arg2 != null)
         {
             arg2();
         }
     });
 }