Beispiel #1
0
 private void btnCloseInfoWindow_Click(object sender, RoutedEventArgs e)
 {
     //mainInfoWindow.IsOpen = false;
     MapMethods.CloseInfoWin();
     MapMethods.SendCloseInfoWindow();
     //
 }
        private void btnSwitch_Click(object sender, RoutedEventArgs e)
        {
            Button btnSwitch = (Button)sender;

            switch (btnSwitch.Name)
            {
            case "On":
                btnSwitch.Style = App.Current.Resources["btnOff"] as Style;
                MapLayers.ShowHideFeatureLayerByID(btnSwitch.Tag.ToString(), false);
                btnSwitch.Name = "Off";
                MapMethods.SendSwitchFeatureLayerByID(btnSwitch.Tag.ToString(), "0");
                //MapMethods.CloseInfoWin();
                //MapMethods.SendCloseInfoWindow();
                break;

            case "Off":
                btnSwitch.Style = App.Current.Resources["btnOn"] as Style;
                MapLayers.ShowHideFeatureLayerByID(btnSwitch.Tag.ToString(), true);
                btnSwitch.Name = "On";
                MapMethods.SendSwitchFeatureLayerByID(btnSwitch.Tag.ToString(), "1");
                break;

            default:
                break;
            }
        }
        //保存配置
        private void btnSetup_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int            count       = canvasParams.Children.Count;
                ContentControl ccTemp      = null;
                RemoteWin      rwTemp      = null;
                ArrayList      alRemoteWin = new ArrayList();
                for (int i = 0; i < count; i++)
                {
                    ccTemp = canvasParams.Children[i] as ContentControl;
                    rwTemp = new RemoteWin(ccTemp.Width, ccTemp.Height, Canvas.GetLeft(ccTemp), Canvas.GetTop(ccTemp), Canvas.GetZIndex(ccTemp), ccTemp.Name, Convert.ToInt32(ccTemp.FontSize), GetImgPathFromRect(ccTemp));
                    //XmlHelper.UpdateModularByName(PublicParams.xmlFilePath, "/Root/Windows", rwTemp);
                    alRemoteWin.Add(rwTemp);
                }
                RemoteWin[] rws = (RemoteWin[])alRemoteWin.ToArray(typeof(RemoteWin));
                XmlHelper.UpdateModularsByName(PublicParams.xmlFilePath, "/Root/Windows", rws);

                //发送模块排列信息组到大屏
                MapMethods.SendModularsToServer(rws);

                MessageBox.Show("已保存!", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex.Message);
                return;
            }

            //MessageBox.Show(xx.ToString());
        }
        private async void ConfirmLoc_Click(object sender, RoutedEventArgs e)
        {
            var address = await MapMethods.ConvertLocationToAddressAsync(SelectLocMap.Center);

            if (string.IsNullOrEmpty(address))
            {
                MessageBox.Show("Sorry, we cant get an address of this place");
                return;
            }

            AddressTB.Text = address;
        }
        private static void NewGame()
        {
            GameWorld = new World();

            GameWorld.Player = new GameObject("Player", Tiles.Player.PlayerTile, 0, 0);
            GameWorld.Objects.Add(GameWorld.Player);

            GameWorld.Player.Fighter = new Fighter(GameWorld.Player, 24, 4, 4, 0, Constants.AI.Player, Constants.Death.PlayerDeath);

            MapMethods.MakeMap(Constants.Direction.Down);
            //MapMethods.MakeMaze();

            GameWorld.State = Constants.GameState.Playing;
        }
        private void btnCloseAll_Click(object sender, RoutedEventArgs e)
        {
            MapMethods.SendClosePadVideos();                                //关闭大屏视频背景板
            for (int i = 0; i < PublicParams.arrayOpenedVideos.Length; i++) //逐个关闭视频
            {
                if (PublicParams.arrayOpenedVideos[i] == null)
                {
                    return;
                }
                CloseOneVideo(PublicParams.arrayOpenedVideos[i] as Camera);
            }

            WallVideosHelper.InitOpenedVideos();
            WallVideosHelper.RefreshOpenedVideos();
        }
        /// <summary>
        /// LPY 2016-3-31 添加
        /// 关闭一路视频
        /// </summary>
        /// <param name="camera">待关闭视频</param>
        private void CloseOneVideo(Camera camera)
        {
            if (camera == null)
            {
                return;
            }

            PublicParams.dvcsServerMain.SendCMD(DVCSAgreement.CloseWin(camera.WinID));
            MapMethods.SendShowHidePadVideosTextByID("", camera.ID + 1, "0");
            //LogHelper.WriteLog(string.Format("已发送指令,关闭WinID:{0}的视频--{1}",camera.WinID.ToString(),PublicParams.dvcsServerMainName));
            PublicParams.arrayOpenedVideos[camera.ID] = null;

            WallVideosHelper.CloseVideoToWallForDVCS2(camera);

            WallVideosHelper.RefreshOpenedVideos();
        }
Beispiel #8
0
 private void mainMap_ExtentChanged(object sender, ExtentEventArgs e)
 {
     //MapPoint mp = PublicParams.pubMainMap.Extent.
     ////this.Title = mp.X.ToString() + "," + mp.Y.ToString();
     //if (mp.X < 121.25)
     //    mp.X = 121.25;
     //if (mp.X > 121.28)
     //    mp.X = 121.28;
     //if (mp.Y < 28.55)
     //    mp.Y = 28.55;
     //if (mp.Y > 28.56)
     //    mp.Y = 28.56;
     //string strCenterJson = string.Format("{{CMD:'00001',CENTX:{0},CENTY:{1},LEVEL:{2}}}", mp.X.ToString(), mp.Y.ToString(), MapMethods.GetLevel(PublicParams.pubMainMap.Resolution));
     //MapMethods.MoveAndZoomMapByJson(JObject.Parse(strCenterJson));
     MapMethods.SendCurrentPosition();
 }
Beispiel #9
0
        private void RadiusSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            _activeUser ??= ((HomeVM)DataContext).ActiveUser;

            var circleVertices = MapMethods.GetCircleVertices(_activeUser.Location, RadiusSlider.Value);

            var circle = new MapPolygon
            {
                Fill            = new SolidColorBrush(Colors.AliceBlue),
                Stroke          = new SolidColorBrush(Colors.Black),
                StrokeThickness = 1,
                Opacity         = 0.65,
                Locations       = circleVertices
            };

            CircleLayer.Children.Clear();
            CircleLayer.Children.Add(circle);
        }
Beispiel #10
0
        private void Tools_Click(object sender, RoutedEventArgs e)
        {
            //Button btnMain = sender as Button;
            switch ((sender as Button).Tag.ToString())
            {
            case "DrawCircle":
                drawBuffer.DrawMode = DrawMode.Circle;
                activeSymbolBuffer  = PublicParams.fillSymbol;
                break;

            case "DrawEllipse":
                drawBuffer.DrawMode = DrawMode.Ellipse;
                activeSymbolBuffer  = PublicParams.fillSymbol;
                break;

            case "DrawFreehandLine":
                drawBuffer.DrawMode = DrawMode.Freehand;
                activeSymbolBuffer  = PublicParams.lineSymbol;
                break;

            case "DrawPolyline":
                drawBuffer.DrawMode = DrawMode.Polyline;
                activeSymbolBuffer  = PublicParams.lineSymbol;
                break;

            case "DrawPolygon":
                drawBuffer.DrawMode = DrawMode.Polygon;
                activeSymbolBuffer  = PublicParams.fillSymbol;
                break;

            case "DrawRectangle":
                drawBuffer.DrawMode = DrawMode.Rectangle;
                activeSymbolBuffer  = PublicParams.fillSymbol;
                break;

            default:
                drawBuffer.DrawMode = DrawMode.None;
                MapLayers.ClearGLayerByID(PublicParams.gLayerDrawing);
                MapMethods.SendClearBufferLayer();    //清除大屏BufferLayer上的Buffers
                break;
            }
            drawBuffer.IsEnabled = (drawBuffer.DrawMode != DrawMode.None);
        }
Beispiel #11
0
        void drawBuffer_DrawComplete(object sender, DrawEventArgs e)
        {
            if (e.Geometry == null)
            {
                return;
            }

            Graphic graphic = new Graphic()
            {
                Geometry = e.Geometry, Symbol = activeSymbolBuffer
            };

            switch (e.Geometry.GetType().Name)
            {
            case "Polyline":    //根据画线类型,如果为line类型,则对line添加buffer
                BufferParameters bufferParams = new BufferParameters()
                {
                    BufferSpatialReference = new SpatialReference(102113), OutSpatialReference = new SpatialReference(4326), Unit = LinearUnit.Meter
                };
                bufferParams.Distances.Add(PublicParams.BufferRadius);
                bufferParams.Features.Add(graphic);
                GeoServHelper gshPolyline = new GeoServHelper();
                gshPolyline.geometryTask.BufferAsync(bufferParams);
                break;

            case "Polygon":
                this.Dispatcher.BeginInvoke(new Action(() => {
                    GeoServHelper gshPolygon = new GeoServHelper();
                    gshPolygon.ExecuteAsyncQueryForDrawing(e.Geometry, PublicParams.urlCamerasLayer);
                }));
                break;

            default:
                break;
            }
            MapLayers.AddGraphicToGLayerByLayerID(graphic, PublicParams.gLayerDrawing);

            MapMethods.SendGraphic(graphic);//同步画线到大屏
            drawBuffer.DrawMode = DrawMode.None;
            PublicParams.pubCanvasChild1.BeginStoryboard(App.Current.FindResource("StoryboardForPadCamerasOpen") as Storyboard);
            MapMethods.SendOpenPadVideos();//大屏同步弹出视频背景板
        }
        private async void WriteToDatabase(object sender, EventArgs e)
        {
            var point = await MapMethods.ConvertAddressToLocationAsync(editVendor.addressBox.Text);

            var temp = new ObservableCollection <Vendor>();

            foreach (var vendor in VendorList)
            {
                if (vendor.ID != tempVendor.ID)
                {
                    temp.Add(vendor);
                }
                else
                {
                    tempVendor.Title        = editVendor.titleBox.Text;
                    tempVendor.About        = editVendor.aboutBox.Text;
                    tempVendor.Address      = editVendor.addressBox.Text;
                    tempVendor.Latitude     = double.Parse(point[0]);
                    tempVendor.Longitude    = double.Parse(point[1]);
                    tempVendor.Municipality = point[2];
                    tempVendor.County       = point[3];
                    temp.Add(tempVendor);
                }
            }

            using (var db = new AppDbContext())
            {
                var vendor = db.Vendors.SingleOrDefault(x => x.ID == tempVendor.ID);
                vendor.Title        = editVendor.titleBox.Text;
                vendor.About        = editVendor.aboutBox.Text;
                vendor.Address      = editVendor.addressBox.Text;
                vendor.Latitude     = double.Parse(point[0]);
                vendor.Longitude    = double.Parse(point[1]);
                vendor.Municipality = point[2];
                vendor.County       = point[3];
                db.SaveChanges();
            }
            VendorList = temp;
        }
Beispiel #13
0
        //确定按钮
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            double width       = Convert.ToDouble(tbWidth.Text.Trim());
            double height      = Convert.ToDouble(tbHeight.Text.Trim());
            double x           = Convert.ToDouble(tbX.Text.Trim());
            double y           = Convert.ToDouble(tbY.Text.Trim());
            int    fontsize    = Convert.ToInt32(tbFontSize.Text.Trim());
            string modularName = tbModularName.Text.Trim();

            ccRect.Width = width; ccRect.Height = height; Canvas.SetLeft(ccRect, x); Canvas.SetTop(ccRect, y); ccRect.FontSize = fontsize;
            Rectangle rtTemp = (Rectangle)ccRect.Content; rtTemp.Width = width; rtTemp.Height = height;

            ((TextBlock)((StackPanel)((VisualBrush)rtTemp.Fill).Visual).Children[0]).Text = modularName;
            ccRect.Name = modularName;

            //MapMethods.SendChangePadParamsAndName(strOldName, modularName, width, height, x, y, Canvas.GetZIndex(ccRect), fontsize);//参数发送到大屏
            MapMethods.SendChangePadParams(width, height, x, y, Canvas.GetZIndex(ccRect), modularName, fontsize);

            //RemoteWin rw = new RemoteWin(width, height, x, y, Canvas.GetZIndex(ccRect), modularName, fontsize, "");
            //XmlHelper.UpdateModularByName(PublicParams.xmlFilePath, "/Root/Windows", strOldName, rw);

            btnClose_Click(sender, e);
        }
Beispiel #14
0
        private void UserTools_Click(object sender, RoutedEventArgs e)
        {
            Button btnMain = sender as Button;

            switch (btnMain.Tag.ToString())
            {
            case "OpenTools":
                borMapTools.BeginStoryboard(App.Current.FindResource("StoryboardForToolsOpen") as Storyboard);
                btnMain.Style = this.FindResource("btnRight") as Style;
                btnMain.Tag   = "CloseTools";
                break;

            case "CloseTools":
                borMapTools.BeginStoryboard(App.Current.FindResource("StoryboardForToolsClose") as Storyboard);
                btnMain.Style = this.FindResource("btnLeft") as Style;
                btnMain.Tag   = "OpenTools";
                break;

            case "OpenUserTools":
                borMapUserTools.BeginStoryboard(App.Current.FindResource("StoryboardForUserToolsOpen") as Storyboard);
                btnMain.Style = this.FindResource("btnRight") as Style;
                btnMain.Tag   = "CloseUserTools";
                break;

            case "CloseUserTools":
                borMapUserTools.BeginStoryboard(App.Current.FindResource("StoryboardForUserToolsClose") as Storyboard);
                btnMain.Style = this.FindResource("btnLeft") as Style;
                btnMain.Tag   = "OpenUserTools";
                break;

            default:
                drawLenOrArea.DrawMode = DrawMode.None;
                MapLayers.ClearGLayerByID(PublicParams.gLayerLengthOrArea);
                MapMethods.SendClearLengthOrAreaLayer();
                break;
            }
        }
Beispiel #15
0
        /// <summary>
        /// LPY 2015-9-15 点击底图切换按钮,更改按钮样式,切换地图,并发送指令
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSwitch_Click(object sender, RoutedEventArgs e)
        {
            switch (btnSwitch.Tag.ToString())
            {
            case "Vector":
                PublicParams.pubMainMap.Layers["SL"].Visible = false;
                PublicParams.pubMainMap.Layers["YX"].Visible = true;
                btnSwitch.Style = this.FindResource("btnImage") as Style;
                btnSwitch.Tag   = "Image";
                MapMethods.SendCurrentState("symap");
                break;

            case "Image":
                PublicParams.pubMainMap.Layers["SL"].Visible = true;
                PublicParams.pubMainMap.Layers["YX"].Visible = false;
                btnSwitch.Style = this.FindResource("btnVector") as Style;
                btnSwitch.Tag   = "Vector";
                MapMethods.SendCurrentState("slmap");
                break;

            default:
                break;
            }
        }
Beispiel #16
0
        public async Task <IActionResult> Create(CreateEditVendorVM model)
        {
            try
            {
                if (ModelState.GetFieldValidationState("Title") == ModelValidationState.Valid &&
                    ModelState.GetFieldValidationState("Address") == ModelValidationState.Valid)
                {
                    if (model.Image != null && !model.Image.ValidImage())
                    {
                        ModelState.AddModelError("", _localizer["Invalid image type"]);
                        _toastNotification.AddErrorToastMessage(_localizer["Invalid image type"]);
                        return(View(model));
                    }

                    var latLng = await MapMethods.ConvertAddressToLocationAsync(model.Address);

                    if (latLng == null)
                    {
                        ModelState.AddModelError("", _localizer["Sorry, we can't recognize this address"]);
                        _toastNotification.AddErrorToastMessage(_localizer["Sorry, we can't recognize this address"]);
                        return(View(model));
                    }

                    var user = await _userManager.GetUserAsync(User);

                    user.VendorsCount++;
                    await _userManager.UpdateAsync(user);

                    var vendor = new Vendor();
                    vendor.UserID    = user.Id;
                    vendor.Latitude  = latLng.Item1;
                    vendor.Longitude = latLng.Item2;

                    model.SetValuesToVendor(vendor);
                    await _vendorService.CreateAsync(vendor);

                    var serviceOperatingHours = model.VendorHours;

                    foreach (var elem in serviceOperatingHours)
                    {
                        if (elem.IsWorking)
                        {
                            if (elem.CloseTime < elem.OpenTime)
                            {
                                ModelState.AddModelError("", "Invalid work hours");
                                _toastNotification.AddErrorToastMessage("Choose appropriate working hours");
                                await _vendorService.DeleteAsync(vendor);

                                return(View(model));
                            }

                            var workHours = new WorkHours(vendor.ID, elem.IsWorking, elem.Day, elem.OpenTime,
                                                          elem.CloseTime);
                            await _vendorService.AddWorkHoursAsync(workHours);
                        }
                        else
                        {
                            var timeSpan  = new TimeSpan(0);
                            var workHours = new WorkHours(vendor.ID, elem.IsWorking, elem.Day, timeSpan, timeSpan);
                            await _vendorServiceADO.InsertWorkHoursAsync(workHours);
                        }
                    }

                    _toastNotification.AddSuccessToastMessage(_localizer["Service Created"]);
                    return(RedirectToAction("MyVendors"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                _toastNotification.AddErrorToastMessage(ex.Message);
            }

            return(View(model));
        }
Beispiel #17
0
        /// <summary>
        /// LPY 2015-9-18 添加
        /// 主要按钮单击事件处理
        /// 连接大屏按钮、回到原点、警情、警车、图层
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMain_Click(object sender, RoutedEventArgs e)
        {
            Button btnMain = sender as Button;

            switch (btnMain.Tag.ToString())
            {
            case "NotConnected":
                if (ConnectToServer(ref socketBigMapServer, PublicParams.targetIP, PublicParams.targetPort))
                {
                    TCPServer.socketServer    = socketBigMapServer;
                    threadListenToServerByTCP = new Task(TCPServer.ListenToServer);
                    threadListenToServerByTCP.Start();
                    //Timer timer = new Timer(MapMethods.SendHeartBeatToServer, null, 0, 1000 * 60);
                    timerHeartBeat.Tick += MapMethods.SendHeartBeatToServer; timerHeartBeat.Interval = TimeSpan.FromSeconds(60 * 5); timerHeartBeat.Start();
                    PublicParams.CanSend = true;
                    switch (MessageBox.Show("同步大屏地图位置到本地吗?", "地图同步", MessageBoxButton.YesNo, MessageBoxImage.Question))
                    {
                    case MessageBoxResult.No:
                        MapMethods.SendCurrentPosition();
                        break;

                    case MessageBoxResult.Yes:
                        TCPServer.SendCMD("{\"CMD\":\"SYNC\"}");
                        break;

                    default:
                        break;
                    }
                    btnMain.Style = this.FindResource("btnConnected") as Style;
                    btnMain.Tag   = "Connected";
                }
                break;

            case "Connected":
                if (DisconnectToServer(ref socketBigMapServer))
                {
                    TCPServer.socketServer = null;
                    PublicParams.CanSend   = false;
                    btnMain.Style          = this.FindResource("btnNotConnected") as Style;
                    btnMain.Tag            = "NotConnected";
                }
                break;

            case "Origin":    //回到原点按钮
                mainMap.Extent = envelop;
                MapMethods.SendCurrentPosition();
                break;

            case "CaseOn":    //警情关闭
                PublicParams.padCaseSwitch.Visibility = Visibility.Hidden;

                btnMain.Tag = "CaseOff";
                break;

            case "CaseOff":    //警情打开
                PublicParams.padCaseSwitch.Visibility = Visibility.Visible;

                btnMain.Tag = "CaseOn";
                break;

            case "LayersOff":    //图层列表打开
                PublicParams.padLayers.Visibility = Visibility.Visible;
                //PublicParams.padLayers.BeginStoryboard(App.Current.FindResource("StoryboardForPadLayersOpen") as Storyboard);
                btnMain.Tag = "LayersOn";
                break;

            case "LayersOn":    //图层列表关闭
                PublicParams.padLayers.Visibility = Visibility.Hidden;
                //PublicParams.padLayers.BeginStoryboard(App.Current.FindResource("StoryboardForPadLayersClose") as Storyboard);
                btnMain.Tag = "LayersOff";
                break;

            case "OpenedVideosOff":
                PublicParams.padOpenedVideos.BeginStoryboard(App.Current.FindResource("StoryboardForPadOpenedVideosOpen") as Storyboard);
                btnMain.Tag = "OpenedVideosOn";
                break;

            case "OpenedVideosOn":
                PublicParams.padOpenedVideos.BeginStoryboard(App.Current.FindResource("StoryboardForPadOpenedVideosClose") as Storyboard);
                btnMain.Tag = "OpenedVideosOff";
                break;

            case "PoliceCarOff":    //警车图层打开
                MapLayers.ShowHideGraphicsLayerByID(PublicParams.gLayerPoliceCarGPS, true);
                MapMethods.SendSwitchGraphicsLayerByID(PublicParams.gLayerPoliceCarGPS, "1");
                btnMain.Tag = "PoliceCarOn";
                break;

            case "PoliceCarOn":    //警车图层关闭
                MapLayers.ShowHideGraphicsLayerByID(PublicParams.gLayerPoliceCarGPS, false);
                MapMethods.SendSwitchGraphicsLayerByID(PublicParams.gLayerPoliceCarGPS, "0");
                btnMain.Tag = "PoliceCarOff";
                break;

            case "TrafficOff":    //交通-路况和红绿灯
                MapLayers.ShowHideFeatureLayerByID(PublicParams.fLayerTrafficLight, true);
                MapLayers.ShowHideFeatureLayerByID(PublicParams.fLayerRoad, true);
                MapMethods.SendSwitchFeatureLayerByID(PublicParams.fLayerTrafficLight, "1");
                MapMethods.SendSwitchFeatureLayerByID(PublicParams.fLayerRoad, "1");
                btnMain.Style = this.Resources["btnTrafficOn"] as Style;
                btnMain.Tag   = "TrafficOn";
                break;

            case "TrafficOn":
                MapLayers.ShowHideFeatureLayerByID(PublicParams.fLayerTrafficLight, false);
                MapLayers.ShowHideFeatureLayerByID(PublicParams.fLayerRoad, false);
                MapMethods.SendSwitchFeatureLayerByID(PublicParams.fLayerTrafficLight, "0");
                MapMethods.SendSwitchFeatureLayerByID(PublicParams.fLayerRoad, "0");
                btnMain.Style = this.Resources["btnTraffic"] as Style;
                btnMain.Tag   = "TrafficOff";
                break;

            default:
                break;
            }
        }
        public async Task <IActionResult> Edit(int id, CreateEditVendorVM model)
        {
            if (id != model.ID)
            {
                return(NotFound());
            }

            var vendor = await _vendorService.GetVendorAsync(id);

            if (!ValidUser(vendor.UserID))
            {
                return(NotFound());
            }

            if (ModelState.GetFieldValidationState("Title") == Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState.Valid &&
                ModelState.GetFieldValidationState("Address") == Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState.Valid)
            {
                if (model.Image != null && !model.Image.ValidImage())
                {
                    ModelState.AddModelError("", _localizer["Invalid image type"]);
                    _toastNotification.AddErrorToastMessage(_localizer["Invalid image type"]);
                    return(View(model));
                }

                var latLng = await MapMethods.ConvertAddressToLocationAsync(model.Address);

                if (latLng == null)
                {
                    _toastNotification.AddErrorToastMessage(_localizer["Sorry, we can't recognize this address"]);
                    return(View(model));
                }

                try
                {
                    vendor.Latitude  = latLng.Item1;
                    vendor.Longitude = latLng.Item2;

                    model.SetValuesToVendor(vendor);

                    var serviceOperatingHours = model.VendorHours;
                    foreach (var elem in serviceOperatingHours)
                    {
                        if (elem.IsWorking)
                        {
                            if (elem.CloseTime < elem.OpenTime)
                            {
                                ModelState.AddModelError("", "Invalid work hours");
                                _toastNotification.AddErrorToastMessage("Choose appropriate working hours");
                                return(View(model));
                            }

                            else
                            {
                                var workHours = new WorkHours(vendor.ID, elem.IsWorking, elem.Day, elem.OpenTime, elem.CloseTime);
                                await _vendorService.ChangeWorkHoursAsync(workHours);
                            }
                        }
                        else
                        {
                            var timeSpan  = new TimeSpan(0);
                            var workHours = new WorkHours(vendor.ID, elem.IsWorking, elem.Day, timeSpan, timeSpan);
                            await _vendorService.ChangeWorkHoursAsync(workHours);
                        }
                    }

                    await _vendorServiceADO.UpdateVendorAsync(vendor);

                    _toastNotification.AddSuccessToastMessage(_localizer["Service Updated"]);

                    return(RedirectToAction(nameof(MyVendors)));
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    _toastNotification.AddErrorToastMessage(ex.Message);
                }
            }

            return(View(model));
        }
Beispiel #19
0
        private void ShowInfoWinByClickOrTouch(Point screenPnt)
        {
            GeneralTransform generalTransform   = mainMap.TransformToVisual(Application.Current.MainWindow);
            Point            transformScreenPnt = generalTransform.Transform(screenPnt);

            foreach (FeatureLayer featureLayer in PublicParams.listFLayer)
            {
                if (featureLayer != null && featureLayer.Visible == true)
                {
                    IEnumerable <Graphic> selectedFLayer = featureLayer.FindGraphicsInHostCoordinates(transformScreenPnt);
                    foreach (Graphic graphic in selectedFLayer)
                    {
                        //mainInfoWindow.Anchor = e.MapPoint;
                        mainInfoWindow.Anchor          = graphic.Geometry as MapPoint;
                        mainInfoWindow.IsOpen          = true;
                        mainInfoWindow.ContentTemplate = this.FindResource("DT" + graphic.Attributes["Class"].ToString()) as DataTemplate;
                        mainInfoWindow.Content         = graphic.Attributes;
                        MapMethods.SendOpenInfoWindow(graphic);
                        return;
                    }
                }
            }


            GraphicsLayer graphicsLayerPoliceCar = MapLayers.GetGraphicsLayerByID(PublicParams.gLayerPoliceCarGPS);

            if (graphicsLayerPoliceCar != null && graphicsLayerPoliceCar.Visible != false)
            {
                IEnumerable <Graphic> selectedGraphics = graphicsLayerPoliceCar.FindGraphicsInHostCoordinates(transformScreenPnt);
                foreach (Graphic graphic in selectedGraphics)
                {
                    mainInfoWindow.Anchor          = graphic.Geometry as MapPoint;
                    mainInfoWindow.IsOpen          = true;
                    mainInfoWindow.ContentTemplate = this.FindResource("DTPoliceCar") as DataTemplate;
                    mainInfoWindow.Content         = graphic.Attributes;
                    MapMethods.SendOpenInfoWindow(graphic);
                    return;
                }
            }

            GraphicsLayer graphicsLayerCase = MapLayers.GetGraphicsLayerByID(PublicParams.gLayerCase);

            if (graphicsLayerCase != null && graphicsLayerCase.Visible == true)
            {
                IEnumerable <Graphic> selectedGraphics = graphicsLayerCase.FindGraphicsInHostCoordinates(transformScreenPnt);
                foreach (Graphic graphic in selectedGraphics)
                {
                    //LPY 2016-4-14 添加 新案件点周围视频点自动查找和播放
                    MapLayers.ClearGLayerByID(PublicParams.gLayerSearchCamerasNearCrime);//清空图层
                    MapMethods.SendClearGraphicsLayerByID(PublicParams.gLayerSearchCamerasNearCrime);

                    ESRI.ArcGIS.Client.Geometry.Geometry geoSearch = MapMethods.GetEllipseGeometry(PublicParams.SearchRadius / (106 * 1000), graphic.Geometry as MapPoint);

                    GeoServHelper gsh = new GeoServHelper();
                    gsh.ExecuteAsyncQueryForCasePoint(geoSearch, PublicParams.urlCamerasLayer);

                    PublicParams.pubCanvasChild1.BeginStoryboard(App.Current.FindResource("StoryboardForPadCamerasOpen") as System.Windows.Media.Animation.Storyboard);
                    MapMethods.SendOpenPadVideos();//打开视频背景板

                    Graphic gSearch = new Graphic()
                    {
                        Symbol = PublicParams.symbolSearchCameras, Geometry = geoSearch
                    };
                    MapLayers.AddGraphicToGLayerByLayerID(gSearch, PublicParams.gLayerSearchCamerasNearCrime);
                    MapMethods.SendGraphicSearchCameras(gSearch);
                }
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;

            switch (btn.Tag.ToString())
            {
            case "CasePointsOff":
                //MapMethods.SendSwitchGraphicsLayerByID(PublicParams.gLayerCase, "1");
                MapLayers.ShowHideFeatureLayerByID(PublicParams.fLayerCase, true);
                MapMethods.SendSwitchFeatureLayerByID(PublicParams.fLayerCase, "1");
                btn.Style = App.Current.Resources["btnOn"] as Style;
                btn.Tag   = "CasePointsOn";
                break;

            case "CasePointsOn":
                //MapMethods.SendSwitchGraphicsLayerByID(PublicParams.gLayerCase, "0");
                MapLayers.ShowHideFeatureLayerByID(PublicParams.fLayerCase, false);
                MapMethods.SendSwitchFeatureLayerByID(PublicParams.fLayerCase, "0");
                btn.Style = App.Current.Resources["btnOff"] as Style;
                btn.Tag   = "CasePointsOff";
                break;

            case "CaseHeatMapOff":    //热力图
                MapLayers.ShowHideHeatMapLayerByID(PublicParams.hLayerCase, true);
                MapMethods.SendSwitchHeatMapLayerByID(PublicParams.hLayerCase, "1");
                btn.Style = App.Current.Resources["btnOn"] as Style;
                btn.Tag   = "CaseHeatMapOn";
                break;

            case "CaseHeatMapOn":
                MapLayers.ShowHideHeatMapLayerByID(PublicParams.hLayerCase, false);
                MapMethods.SendSwitchHeatMapLayerByID(PublicParams.hLayerCase, "0");
                btn.Style = App.Current.Resources["btnOff"] as Style;
                btn.Tag   = "CaseHeatMapOff";
                break;

            case "CaseTodayOff":    //当日案件
                MapMethods.SendSwitchWin("警情监控", "1");
                MapLayers.ShowHideGraphicsLayerByID(PublicParams.gLayerCase, true);
                MapLayers.ShowHideGraphicsLayerByID(PublicParams.gLayerSearchCamerasNearCrime, true);
                btn.Style = App.Current.Resources["btnOn"] as Style;
                btn.Tag   = "CaseTodayOn";
                break;

            case "CaseTodayOn":
                MapMethods.SendSwitchWin("警情监控", "0");
                MapLayers.ShowHideGraphicsLayerByID(PublicParams.gLayerCase, false);
                MapLayers.ShowHideGraphicsLayerByID(PublicParams.gLayerSearchCamerasNearCrime, false);
                MapLayers.ClearGLayerByID(PublicParams.gLayerSearchCamerasNearCrime);
                MapMethods.SendClearGraphicsLayerByID(PublicParams.gLayerSearchCamerasNearCrime);
                btn.Style = App.Current.Resources["btnOff"] as Style;
                btn.Tag   = "CaseTodayOff";
                break;

            case "CaseClusterOff":    //聚合图
                MapLayers.ShowHideClusterLayerByID(PublicParams.cLayerCase, true);
                MapMethods.SendSwitchClusterLayerByID(PublicParams.cLayerCase, "1");
                btn.Style = App.Current.Resources["btnOn"] as Style;
                btn.Tag   = "CaseClusterOn";
                break;

            case "CaseClusterOn":
                MapLayers.ShowHideClusterLayerByID(PublicParams.cLayerCase, false);
                MapMethods.SendSwitchClusterLayerByID(PublicParams.cLayerCase, "0");
                btn.Style = App.Current.Resources["btnOff"] as Style;
                btn.Tag   = "CaseClusterOff";
                break;

            default:
                break;
            }
        }