private void RestartDevice(Camera camera)
        {
            if (null == camera)
            {
                return;
            }

            MetroUIExtender.Progress("正在重启设备......", "请稍等......", true,
                                     (controller) =>
            {
                controller.Canceled += (ss, ee) =>
                {
                    controller.CloseAsync();
                };
                controller.Closed += (ss, ee) =>
                {
                    if (!controller.IsCanceled)
                    {
                    }
                };
            },
                                     (controller) =>
            {
                var serviceC = new Service.CameraService();
                serviceC.OnRestartDeviceCompleted += () => {
                    controller.CloseAsync();
                };
                serviceC.RestartDevice(camera, (exp) => {
                    controller.SetMessage(exp.Message);
                    controller.SetCancelable(true);
                });
            });
        }
        void Query()
        {
            EnableUI(false);
            var service = new Service.CameraService();

            service.OnQueryCompleted += (departs) => {
                if (departs != null)
                {
                    this.Dispatcher.BeginInvoke(new Action <Camera[]>((list) => {
                        cameraList.Clear();
                        foreach (var v in list)
                        {
                            cameraList.Add(new CameraUI()
                            {
                                Camera = v
                            });
                        }
                        EnableUI(true);
                    }), new object[] { departs });
                }
            };
            service.Query((exp) => {
                this.Dispatcher.BeginInvoke(new Action(() => {
                    EnableUI(true);
                    MetroUIExtender.Alert(exp.Message);
                }), null);
            });
        }
예제 #3
0
        void QueryCameras()
        {
            var service = new Service.CameraService();

            service.OnQueryCompleted += (departs) => {
                if (departs != null)
                {
                    this.Dispatcher.BeginInvoke(new Action <Camera[]>((list) => {
                        cameras.Clear();
                        foreach (var v in list)
                        {
                            var c = new CameraUI()
                            {
                                Camera = v
                            };
                            //如果在列表中,选中
                            if (current != null)
                            {
                                bool bExists = false;

                                foreach (var l in current.Cameras)
                                {
                                    if (l.CameraID == v.ID)
                                    {
                                        bExists = true;
                                        break;
                                    }
                                }

                                if (bExists)
                                {
                                    c.IsChecked = true;
                                }
                            }
                            cameras.Add(c);
                        }

                        EnableUI(true);
                    }), new object[] { departs });
                }
            };
            service.Query((exp) => {
                EnableUI(true);
                MetroUIExtender.Alert(exp.Message);
            });
        }
예제 #4
0
 private void OnButtonOKClick(object sender, RoutedEventArgs e)
 {
     if (current != null)
     {
         //
         var service = new Service.CameraService();
         service.OnSaveCompleted += (depart) => {
             this.Dispatcher.BeginInvoke(new Action(() => {
                 if (null != OnClose)
                 {
                     OnClose();
                 }
             }), null);
         };
         service.Save(current, (exp) => {
             this.Dispatcher.BeginInvoke(new Action <string>((msg) => {
                 MetroUIExtender.Alert(msg);
             }), new object[] { exp.Message });
         });
     }
 }
        private void ChangeLogo(string filepath, Camera camera)
        {
            if (null == camera)
            {
                return;
            }

            var    fi       = new System.IO.FileInfo(filepath);
            string filename = fi.Name;

            MetroUIExtender.Progress("正在上传文件......", "请稍等......", true,
                                     (controller) =>
            {
                controller.Canceled += (ss, ee) =>
                {
                    controller.CloseAsync();
                };
                controller.Closed += (ss, ee) =>
                {
                    if (!controller.IsCanceled)
                    {
                        CameraUI ui = null;
                        foreach (var v in cameraList)
                        {
                            if (v.Camera.ID == camera.ID)
                            {
                                ui = v;
                                break;
                            }
                        }
                        if (ui != null)
                        {
                            ui.ChangeLogo(camera.Logo);
                        }
                    }
                };
            },
                                     (controller) =>
            {
                var data    = System.IO.File.ReadAllBytes(filepath);
                var service = new Service.PhotoImageService();
                service.OnUploadCompleted += (file) =>
                {
                    //在设备中更改数据
                    if (file != null)
                    {
                        camera.Logo                     = file;
                        camera.PhotoImageID             = file.ID;
                        var serviceC                    = new Service.CameraService();
                        serviceC.OnChangeLogoCompleted += () => {
                            controller.CloseAsync();
                        };
                        serviceC.ChangeLogo(camera, (exp) => {
                            controller.SetMessage(exp.Message);
                            controller.SetCancelable(true);
                        });
                    }
                    else
                    {
                        controller.CloseAsync();
                    }
                };
                service.Upload(data, filename, (exp) =>
                {
                    controller.SetMessage(exp.Message);
                    controller.SetCancelable(true);
                });
            });
        }