From e658bdccd21d271d8edfed82954fe53705070cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toan=20Tr=E1=BA=A7n?= Date: Tue, 28 Mar 2017 23:32:03 +0700 Subject: [PATCH] RM2101 comit source --- sources/RoboforkApp/Controls/DesignerCanvas.cs | 71 ++++++++++++++++++-------- sources/RoboforkApp/RoboforkMenuView.xaml.cs | 11 +++- 2 files changed, 59 insertions(+), 23 deletions(-) diff --git a/sources/RoboforkApp/Controls/DesignerCanvas.cs b/sources/RoboforkApp/Controls/DesignerCanvas.cs index c365748..60e9bec 100644 --- a/sources/RoboforkApp/Controls/DesignerCanvas.cs +++ b/sources/RoboforkApp/Controls/DesignerCanvas.cs @@ -3532,11 +3532,51 @@ namespace RoboforkApp /// /// Get infor node /// + public void UploadData() + { + if (ucNode_Lst.Count < 1) + return; + + Robofork15DemoService service = new Robofork15DemoService(); + for (int i = 0; i < ucNode_Lst.Count; i++) + { + Robofork15Demo node = new Robofork15Demo(); + ucNode _ucScheduleNode = new ucNode(); + _ucScheduleNode = ucNode_Lst[i]; + node.NodeID = i + 1; + node.ForkNo = 1; + node.NodePos_x = Math.Round(Canvas.GetLeft(_ucScheduleNode) + UCNODE_SETLEFT, 2); + node.NodePos_y = Math.Round(Canvas.GetTop(_ucScheduleNode) + UCNODE_SETTOP, 2); + service.AddRobofork15Demo(node); + } + + IEnumerable nodes = service.GetAllRobofork15Demos().Where(x => x.ForkNo == 1).OrderBy(x => x.NodeID); + + // Delete node + if (ucNode_Lst.Count() == nodes.Count()) + { + GetInfoNode(); + return; + } + + for (int i = ucNode_Lst.Count(); i < nodes.Count(); i++) + { + Robofork15Demo node = new Robofork15Demo(); + node = nodes.ElementAt(i); + service.DeleteRobofork15Demo(node); + } + } + + /// + /// Get infor node + /// public void GetInfoNode() { var service = new Robofork15DemoService(); + + readMapFan = true; /*Read*/ - IEnumerable fork2PCs = service.GetAllRobofork15Demos().Where(x => x.ForkNo == 1).OrderBy(x => x.NodeID); + IEnumerable nodes = service.GetAllRobofork15Demos().Where(x => x.ForkNo == 1).OrderBy(x => x.NodeID); //Clear Route Info Table ((RoboforkMenu)System.Windows.Application.Current.MainWindow).grdRouteInfo.Children.Clear(); @@ -3544,29 +3584,16 @@ namespace RoboforkApp // Process clear canvas ClearCanvas(); - int _RowIdx = 0; - foreach (var fork2PC in fork2PCs) + //int _RowIdx = 0; + foreach (var node in nodes) { - ucNode _ucNode = new ucNode(); - _ucNode.txtNode = fork2PC.NodeID.ToString(); - _ucNode.IsDragDelta = true; - _ucNode._dataNode = fork2PC; - Canvas.SetLeft(_ucNode, fork2PC.NodePos_x - UCNODE_SETLEFT); - Canvas.SetTop(_ucNode, fork2PC.NodePos_y - UCNODE_SETTOP); - ucNode_Lst.Add(_ucNode); - this.Children.Add(_ucNode); - - //Column 1 : node index - AddLabeltoGrid(_RowIdx, 0, fork2PC.NodeID.ToString()); - - //Column 2 : Pos_X, Pos_Y, Speed - AddLabeltoGrid(_RowIdx, 1, "LAT: " + fork2PC.NodePos_x.ToString()); - _RowIdx++; - AddLabeltoGrid(_RowIdx, 1, "LOC: " + fork2PC.NodePos_y.ToString()); - _RowIdx++; - AddLabeltoGrid(_RowIdx, 1, "SPD: " + fork2PC.NodeVehSpd.ToString() + "Km/h"); - _RowIdx++; + //execCreateNode(new Point(ConvertPointActualToDisplay(node.NodePos_x, Scale_X, PointMapStart_X) + // , ConvertPointActualToDisplay(node.NodePos_y, Scale_X, PointMapStart_Y))); + + execCreateNode(new Point(node.NodePos_x, node.NodePos_y)); } + + CreateVehicleNode(); } /// diff --git a/sources/RoboforkApp/RoboforkMenuView.xaml.cs b/sources/RoboforkApp/RoboforkMenuView.xaml.cs index efcbde1..0233428 100644 --- a/sources/RoboforkApp/RoboforkMenuView.xaml.cs +++ b/sources/RoboforkApp/RoboforkMenuView.xaml.cs @@ -51,6 +51,9 @@ namespace RoboforkApp GetScaleCanVas(); GetScheduleCanVas(); MyDesignerCanvas.ReadFile(); + NewDoBeginSetFreeNotes(); + DesignerCanvas.isDrawingNode = true; + MyDesignerCanvas.GetInfoNode(); DisplayMap_1(); } @@ -220,7 +223,13 @@ namespace RoboforkApp private void DoBeginTask() { - MyScheduleCanvas.CreateSimulation(MyDesignerCanvas.ucScheduleNode_Lst, MyDesignerCanvas.ProjectModel.ProjectModelList[MyDesignerCanvas.ProjectIndex], MyDesignerCanvas.VehicleIndex); + //MyScheduleCanvas.CreateSimulation(MyDesignerCanvas.ucScheduleNode_Lst, MyDesignerCanvas.ProjectModel.ProjectModelList[MyDesignerCanvas.ProjectIndex], MyDesignerCanvas.VehicleIndex); + MessageBoxResult result = MessageBox.Show("Do you want upload data?", "Upload data", MessageBoxButton.OKCancel); + if (result == MessageBoxResult.OK) + { + MyDesignerCanvas.UploadData(); + MyDesignerCanvas.GetInfoNode(); + } } private void DoBeginSetAutoNotes() -- 1.8.5.3