Beispiel #1
0
        public void 设置号码(List <M个号> __列表, List <M组号> __组号列表 = null)
        {
            if (_订阅缓存 != null && _订阅缓存.Count > 0)
            {
                _IB订阅.除(_订阅缓存);
            }

            var __参数 = new Dictionary <M个号, M图标显示参数>();

            __列表.ForEach(q => __参数[q] = new M图标显示参数 {
                称 = q.ToString(), 称一直显示 = true
            });
            base.设置号码(__参数, __组号列表);

            _订阅缓存 = __列表.Select(q => q.号码.ToString()).ToList();
            if (_订阅缓存.Count > 0)
            {
                _IB订阅.增加(_订阅缓存);
            }
        }
Beispiel #2
0
        void do查询_Click(object sender, EventArgs e)
        {
            var __输入   = this.in号码列表.Text;
            var __日期   = this.in日期.Value.Date;
            var __时间   = this.in开始时间.Value;
            var __开始时间 = __日期.AddHours(__时间.Hour).AddMinutes(__时间.Minute);

            __时间 = this.in结束时间.Value;
            var __结束时间 = __日期.AddHours(__时间.Hour).AddMinutes(__时间.Minute).AddSeconds(59).AddMilliseconds(999);

            this.in显示轨迹.Checked = true;

            List <string> __号码列表;

            try
            {
                __号码列表 = __输入.Split(new char[] { ',', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            }
            catch (Exception)
            {
                new F对话框_确定("输入错误!").ShowDialog();
                return;
            }
            var __等待窗口 = new F等待()
            {
                背景颜色 = Color.White
            };

            this.out显示号码.创建全覆盖控件(__等待窗口, null);
            __等待窗口.居中();

            var __回放 = new List <M回放>();
            var __参数 = new Dictionary <M个号, M图标显示参数>();

            try
            {
                __号码列表.ForEach(__号码 =>
                {
                    var __轨迹 = B入口.数据.查询轨迹(new List <Tuple <string, DateTime, DateTime> > {
                        new Tuple <string, DateTime, DateTime>(__号码, __开始时间, __结束时间)
                    });
                    var __标识   = __号码.ToString();
                    var __显示参数 = new M图标显示参数 {
                        称 = __号码.ToString(), 图片 = GPS地图.Properties.Resources.最近更新, 称一直显示 = true
                    };
                    __回放.Add(new M回放
                    {
                        标识     = __标识,
                        位置     = __轨迹,
                        静态轨迹颜色 = Color.Red,
                        显示参数   = __显示参数,
                    });
                    __参数[new M个号 {
                             号码 = int.Parse(__标识)
                         }] = __显示参数;
                });
            }
            catch (Exception)
            {
                __等待窗口.隐藏();
                throw;
            }

            if (_F显示 != null)
            {
                _F显示.Dispose();
            }

            _F回放 = new F回放_按时间(__回放)
            {
                Dock = DockStyle.Fill
            };
            _F回放.SizeChanged += (sender1, e1) => __等待窗口.隐藏();

            _F显示 = new F显示模板 {
                Dock = DockStyle.Fill, 显示统计 = false, 控件 = _F回放, 显示GPS = _F回放.显示GPS, 数据交互 = _F回放.接收GPS
            };
            this.out显示号码.Controls.Clear();
            this.out显示号码.Controls.Add(_F显示);

            _F显示.设置号码(__参数);
            this.in显示轨迹.Enabled = true;
        }
Beispiel #3
0
        void do查询_Click(object sender, EventArgs e)
        {
            var __号码 = this.in号码.Text;
            var __日期 = this.in日期.Value.Date;
            var __时间 = this.in开始时间.Value;

            if (string.IsNullOrEmpty(__号码))
            {
                new F对话框_确定("请输入号码").ShowDialog();
                this.in号码.Focus();
                return;
            }
            else
            {
                try
                {
                    int.Parse(__号码);
                }
                catch (Exception)
                {
                    new F对话框_确定("请输入正确的号码").ShowDialog();
                    this.in号码.Focus();
                    return;
                }
            }
            this.in显示轨迹.Checked = true;

            var __开始时间 = __日期.AddHours(__时间.Hour).AddMinutes(__时间.Minute);

            __时间 = this.in结束时间.Value;
            var __结束时间 = __日期.AddHours(__时间.Hour).AddMinutes(__时间.Minute).AddSeconds(59).AddMilliseconds(999);
            var __等待窗口 = new F等待()
            {
                背景颜色 = Color.White
            };

            this.out显示号码.创建全覆盖控件(__等待窗口, null);
            __等待窗口.居中();

            List <MGPS> __轨迹;

            try
            {
                __轨迹 = B入口.数据.查询轨迹(new List <Tuple <string, DateTime, DateTime> > {
                    new Tuple <string, DateTime, DateTime>(__号码, __开始时间, __结束时间)
                });
            }
            catch (Exception ex)
            {
                __等待窗口.隐藏();
                new F对话框_确定("查询失败!" + Environment.NewLine + ex).ShowDialog();
                return;
            }
            var __标识   = __号码;
            var __显示参数 = new M图标显示参数 {
                称 = __标识, 图片 = GPS地图.Properties.Resources.最近更新, 称一直显示 = true
            };
            var __回放 = new M回放
            {
                标识     = __标识,
                位置     = __轨迹,
                静态轨迹颜色 = Color.Red,
                显示参数   = __显示参数,
            };

            if (_F显示 != null)
            {
                _F显示.Dispose();
            }

            _F回放 = new F回放_按频率(__回放)
            {
                Dock = DockStyle.Fill
            };
            _F回放.SizeChanged += (sender1, e1) => __等待窗口.隐藏();

            _F显示 = new F显示模板()
            {
                Dock = DockStyle.Fill, 显示统计 = false, 控件 = _F回放, 显示GPS = _F回放.显示GPS, 数据交互 = _F回放.接收GPS
            };
            this.out显示号码.Controls.Clear();
            this.out显示号码.Controls.Add(_F显示);
            _F显示.设置号码(new Dictionary <M个号, M图标显示参数>()
            {
                { new M个号 {
                      号码 = int.Parse(__标识)
                  }, __显示参数 }
            });
            this.in显示轨迹.Enabled = true;
        }