public void GetListPallet(dtBuffer tempBuffer) { HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(Global_Object.url + "pallet/getListPalletBufferId"); request2.Method = "POST"; request2.ContentType = @"application/json"; dynamic postApiBody2 = new JObject(); postApiBody2.bufferId = tempBuffer.bufferId; string jsonData2 = JsonConvert.SerializeObject(postApiBody2); System.Text.UTF8Encoding encoding2 = new System.Text.UTF8Encoding(); Byte[] byteArray2 = encoding2.GetBytes(jsonData2); request2.ContentLength = byteArray2.Length; using (Stream dataStream2 = request2.GetRequestStream()) { dataStream2.Write(byteArray2, 0, byteArray2.Length); dataStream2.Flush(); } HttpWebResponse response2 = request2.GetResponse() as HttpWebResponse; using (Stream responseStream2 = response2.GetResponseStream()) { StreamReader reader2 = new StreamReader(responseStream2, Encoding.UTF8); string result2 = reader2.ReadToEnd(); DataTable pallets = JsonConvert.DeserializeObject <DataTable>(result2); foreach (DataRow dr2 in pallets.Rows) { dtPallet tempPallet = new dtPallet { creUsrId = int.Parse(dr2["creUsrId"].ToString()), creDt = dr2["creDt"].ToString(), updUsrId = int.Parse(dr2["updUsrId"].ToString()), updDt = dr2["updDt"].ToString(), palletId = int.Parse(dr2["palletId"].ToString()), deviceBufferId = int.Parse(dr2["deviceBufferId"].ToString()), bufferId = int.Parse(dr2["bufferId"].ToString()), planId = int.Parse(dr2["planId"].ToString()), row = int.Parse(dr2["row"].ToString()), bay = int.Parse(dr2["bay"].ToString()), dataPallet = dr2["dataPallet"].ToString(), palletStatus = dr2["palletStatus"].ToString(), deviceId = int.Parse(dr2["deviceId"].ToString()), deviceName = dr2["deviceName"].ToString(), productId = int.Parse(dr2["productId"].ToString()), productName = dr2["productName"].ToString(), productDetailId = int.Parse(dr2["productDetailId"].ToString()), productDetailName = dr2["productDetailName"].ToString(), }; //props._palletList["Pallet" + "x" + tempPallet.bay + "x" + tempPallet.row].StatusChanged(tempPallet.palletStatus); tempBuffer.pallets.Add(tempPallet); } } }
public void ReloadAllStation() { for (int i = 0; i < list_Station.Count; i++) { Console.WriteLine(i); StationShape temp = list_Station.ElementAt(i).Value; Console.WriteLine("Remove: " + list_Station.ElementAt(i).Key); temp.Remove(); } list_Station.Clear(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Global_Object.url + "buffer/getListBuffer"); request.Method = "GET"; request.ContentType = @"application/json"; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string result = reader.ReadToEnd(); DataTable buffers = JsonConvert.DeserializeObject <DataTable>(result); foreach (DataRow dr in buffers.Rows) { dtBuffer tempBuffer = new dtBuffer { creUsrId = int.Parse(dr["creUsrId"].ToString()), creDt = dr["creDt"].ToString(), updUsrId = int.Parse(dr["updUsrId"].ToString()), updDt = dr["updDt"].ToString(), bufferId = int.Parse(dr["bufferId"].ToString()), bufferName = dr["bufferName"].ToString(), bufferNameOld = dr["bufferNameOld"].ToString(), bufferCheckIn = dr["bufferCheckIn"].ToString(), bufferData = dr["bufferData"].ToString(), maxBay = int.Parse(dr["maxBay"].ToString()), maxBayOld = int.Parse(dr["maxBayOld"].ToString()), maxRow = int.Parse(dr["maxRow"].ToString()), maxRowOld = int.Parse(dr["maxRowOld"].ToString()), bufferReturn = bool.Parse(dr["bufferReturn"].ToString()), bufferReturnOld = bool.Parse(dr["bufferReturnOld"].ToString()), //pallets }; if (!list_Station.ContainsKey(tempBuffer.bufferId.ToString())) { StationShape tempStation = new StationShape(map, tempBuffer); tempStation.ReDraw(); //tempStation.RemoveHandle += StationRemove; list_Station.Add(tempStation.props.bufferDb.bufferName.ToString().Trim(), tempStation); //list_Station.Add(tempStation.props.bufferDb.bufferName.ToString().Trim(), tempStation); } } } }
public List <dtBuffer> GetDataAllStation() { List <dtBuffer> listBuffer = new List <dtBuffer>(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Global_Object.url + "buffer/getListBuffer"); request.Method = "GET"; request.ContentType = @"application/json"; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string result = reader.ReadToEnd(); DataTable buffers = JsonConvert.DeserializeObject <DataTable>(result); foreach (DataRow dr in buffers.Rows) { dtBuffer tempBuffer = new dtBuffer { creUsrId = int.Parse(dr["creUsrId"].ToString()), creDt = dr["creDt"].ToString(), updUsrId = int.Parse(dr["updUsrId"].ToString()), updDt = dr["updDt"].ToString(), bufferId = int.Parse(dr["bufferId"].ToString()), bufferName = dr["bufferName"].ToString(), bufferNameOld = dr["bufferNameOld"].ToString(), bufferCheckIn = dr["bufferCheckIn"].ToString(), bufferData = dr["bufferData"].ToString(), maxRow = int.Parse(dr["maxRow"].ToString()), maxBay = int.Parse(dr["maxBay"].ToString()), maxRowOld = int.Parse(dr["maxRowOld"].ToString()), maxBayOld = int.Parse(dr["maxBayOld"].ToString()), bufferReturn = bool.Parse(dr["bufferReturn"].ToString()), bufferReturnOld = bool.Parse(dr["bufferReturnOld"].ToString()), //pallets }; GetListPallet(tempBuffer); listBuffer.Add(tempBuffer); } } return(listBuffer); }
//#############---METHOD---############ public StationShape(Canvas pCanvas, dtBuffer buffer) { //SHAPE ToolTip = ""; ToolTipOpening += ChangeToolTipContent; //BorderBrush = (SolidColorBrush)(new BrushConverter().ConvertFrom("#FF1F1F")); BorderBrush = new SolidColorBrush(Colors.Lime); BorderThickness = new Thickness(1, 0, 1, 1); CornerRadius = new CornerRadius(0); RenderTransformOrigin = new Point(0, 0); Background = new SolidColorBrush(Colors.Transparent); //PROPERTIES props = new Props(); props.bufferDb = buffer; props._stationGrid = new Grid(); props._stationInfoBorder = new Border(); props._stationInfoBorder.Background = new SolidColorBrush(Colors.Red); props._stationInfoBorder.CornerRadius = new CornerRadius(1.3); props._stationInfoBorder.Height = 5; Grid.SetColumn(props._stationInfoBorder, 0); //Name = props.bufferDb.bufferName.Trim().Replace(" ", ""); //Object name //ContextMenu = new ContextMenu(); //MenuItem propertiesItem = new MenuItem(); //propertiesItem.SetResourceReference(MenuItem.HeaderProperty, "Station_Menu_Item_Properties"); //propertiesItem.Click += PropertiesMenu; //MenuItem editItem = new MenuItem(); //editItem.SetResourceReference(MenuItem.HeaderProperty, "Station_Menu_Item_Edit"); //editItem.Click += EditMenu; //MenuItem removeItem = new MenuItem(); //removeItem.SetResourceReference(MenuItem.HeaderProperty, "Station_Menu_Item_Remove"); //removeItem.Click += RemoveMenu; //MenuItem rotateItem = new MenuItem(); //rotateItem.SetResourceReference(MenuItem.HeaderProperty, "Station_Menu_Item_Rotate"); //rotateItem.Click += RotateMenu; //ContextMenu.Items.Add(propertiesItem); //ContextMenu.Items.Add(editItem); //ContextMenu.Items.Add(rotateItem); //ContextMenu.Items.Add(removeItem); //====================EVENT===================== //MouseLeave += MouseLeaveStation; //MouseMove += MouseHoverStation; //MouseLeftButtonDown += MouseLeftButtonDownStation; //MouseRightButtonDown += MouseRightButtonDownStation; //===================CREATE===================== Width = StaticWidth * props.bufferDb.maxBay; Height = StaticHeight * props.bufferDb.maxRow; props.NameID = props.bufferDb.bufferName; //label props._palletList = new SortedDictionary <string, PalletShape>(); props._myTransformGroup = new TransformGroup(); props._myRotateTransform = new RotateTransform(); props._myTranslateTransform = new TranslateTransform(); //stationProperties = new Properties(this); //Add Pallet to Grid for (int bayIndex = 0; bayIndex < props.bufferDb.maxBay; bayIndex++) //Column Index { //Create a Col ColumnDefinition colTemp = new ColumnDefinition(); //colTemp.Name = Name + "xL" + bayIndex; props._stationGrid.ColumnDefinitions.Add(colTemp); // Create BorderLine Border borderLine = new Border(); Grid.SetColumn(borderLine, bayIndex); //Create GridLine Grid gridLine = new Grid(); borderLine.Child = gridLine; // props._stationGrid.Children.Add(borderLine); if (bayIndex > 0) { borderLine.BorderBrush = new SolidColorBrush(Colors.Black); borderLine.BorderThickness = new Thickness(0.3, 0, 0, 0); } //Add Pallet to GridPallet ==> add GridPallet to BorderLine for (int rowIndex = 0; rowIndex < props.bufferDb.maxRow; rowIndex++) //Row Index, start from 1, Row 0 use for Infomation { //Create Rows for Col RowDefinition rowTemp = new RowDefinition(); //rowTemp.Name = Name + "xR" + rowIndex; //rowTemp.MinHeight = 10; gridLine.RowDefinitions.Add(rowTemp); //============= //if(rowIndex>0) { //PalletShape palletTemp = new PalletShape(Name + "x" + lineIndex + "x" + palletIndex); PalletShape palletTemp = new PalletShape("Pallet" + "x" + bayIndex + "x" + rowIndex); Grid.SetRow(palletTemp, rowIndex); gridLine.Children.Add(palletTemp); props._palletList.Add(palletTemp.name, palletTemp); } } } //==================SPECIALPOINT=================== //props._eightCorner = new List<Point>(); //for (int i = 0; i < 8; i++) //{ // Point temp = new Point(); // props._eightCorner.Add(temp); //} //==================CHILDREN=================== //props._stationGrid.Children.Add(props._stationInfoBorder); Child = props._stationGrid; props._myTransformGroup.Children.Add(props._myRotateTransform); props._myTransformGroup.Children.Add(props._myTranslateTransform); RenderTransform = props._myTransformGroup; SetCoorAndRotate(); props._canvas = pCanvas; props._canvas.Children.Add(this); }
private void RotateMenu(object sender, RoutedEventArgs e) { //double rotate = props.rotate * Math.PI / 180.0; //rotate = (rotate + (Math.PI / 2)); //props.rotate = (rotate * 180.0 / Math.PI); props._rotate += 90; if (props._rotate > 360) { props._rotate -= 360; } props._myRotateTransform.Angle = props._rotate; props._myTransformGroup.Children[0] = props._myRotateTransform; RenderTransform = props._myTransformGroup; //try { dtBuffer buffer = this.props.bufferDb; List <dtBuffer> buffers = new List <dtBuffer>(); dynamic postApiBody = new JObject(); Point coorLader = Global_Object.CoorLaser(props._posision); postApiBody.x = Math.Round(coorLader.X, 1); postApiBody.y = Math.Round(coorLader.Y, 1); postApiBody.angle = Math.Round(props._rotate, 1); string jsonBufferData = JsonConvert.SerializeObject(postApiBody); buffer.bufferData = jsonBufferData; buffers.Add(buffer); if (buffers.Count == 0) { System.Windows.Forms.MessageBox.Show(String.Format(Global_Object.messageNoDataSave), Global_Object.messageTitileWarning, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); return; } string jsonData = JsonConvert.SerializeObject(buffers); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Global_Object.url + "buffer/updateListBuffer"); request.Method = "POST"; request.ContentType = "application/json"; System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); Byte[] byteArray = encoding.GetBytes(jsonData); request.ContentLength = byteArray.Length; using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Flush(); } HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); int result = 0; int.TryParse(reader.ReadToEnd(), out result); if (result == 1) { //System.Windows.Forms.MessageBox.Show(String.Format(Global_Object.messageSaveSucced), Global_Object.messageTitileInformation, MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (result == -2) { System.Windows.Forms.MessageBox.Show(String.Format(Global_Object.messageDuplicated, "Buffers Name"), Global_Object.messageTitileError, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } else { System.Windows.Forms.MessageBox.Show(String.Format(Global_Object.messageSaveFail), Global_Object.messageTitileError, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } } //UpdateTab4(true); } //catch { } }
public void ReDraw(dtBuffer buffer) { if ((buffer.bufferId == this.props.bufferDb.bufferId) && (buffer.bufferName == this.props.bufferDb.bufferName)) { if ((this.props.bufferDb.maxBay != buffer.maxBay) || ((this.props.bufferDb.maxRow != buffer.maxRow))) { props.bufferDb = buffer; props._palletList.Clear(); props._stationGrid.Children.Clear(); props._stationGrid.RowDefinitions.Clear(); props._stationGrid.ColumnDefinitions.Clear(); Width = StaticWidth * props.bufferDb.maxBay; Height = StaticHeight * props.bufferDb.maxRow; for (int bayIndex = 0; bayIndex < props.bufferDb.maxBay; bayIndex++) //Column Index { //Create a Col ColumnDefinition colTemp = new ColumnDefinition(); //colTemp.Name = Name + "xL" + bayIndex; props._stationGrid.ColumnDefinitions.Add(colTemp); //Create GridLine Grid gridLine = new Grid(); // Create BorderLine Border borderLine = new Border(); Grid.SetColumn(borderLine, bayIndex); borderLine.Child = gridLine; // props._stationGrid.Children.Add(borderLine); if (bayIndex > 0) { borderLine.BorderBrush = new SolidColorBrush(Colors.Black); borderLine.BorderThickness = new Thickness(0.3, 0, 0, 0); } //Add Pallet to GridPallet ==> add GridPallet to BorderLine for (int rowIndex = 0; rowIndex < props.bufferDb.maxRow; rowIndex++) //Row Index, start from 1, Row 0 use for Infomation { //Create Rows for Col RowDefinition rowTemp = new RowDefinition(); //rowTemp.Name = Name + "xR" + rowIndex; //rowTemp.MinHeight = 10; gridLine.RowDefinitions.Add(rowTemp); //PalletShape palletTemp = new PalletShape(Name + "x" + lineIndex + "x" + palletIndex); PalletShape palletTemp = new PalletShape("Pallet" + "x" + bayIndex + "x" + rowIndex); Grid.SetRow(palletTemp, rowIndex); gridLine.Children.Add(palletTemp); props._palletList.Add(palletTemp.name, palletTemp); } } } else { props.bufferDb = buffer; Dispatcher.BeginInvoke(new ThreadStart(() => { props._myRotateTransform.Angle = props._rotate; props._myTranslateTransform = new TranslateTransform(props._posision.X, props._posision.Y); props._myTransformGroup.Children[0] = props._myRotateTransform; props._myTransformGroup.Children[1] = props._myTranslateTransform; })); } } //dynamic bufferData = JsonConvert.DeserializeObject(props.bufferDb.bufferData); //props._posision = Global_Object.CoorCanvas(new Point(((bufferData != null) ? (((double)bufferData.x)) : 0), ((bufferData != null) ? (((double)bufferData.y)) : 0))); //props._rotate = (bufferData != null) ? (((double)bufferData.angle)) : 0; SetCoorAndRotate(); UpdateAllPalletStatus(props.bufferDb.pallets); }
//#############---METHOD---############ public StationShape(Canvas pCanvas, dtBuffer buffer) { props = new Props(); props.bufferDb = buffer; BorderBrush = new SolidColorBrush(Colors.Transparent); BorderThickness = new Thickness(1); CornerRadius = new CornerRadius(1.2); RenderTransformOrigin = new Point(0, 0); props._stationGrid = new Grid(); Background = new SolidColorBrush(Colors.Transparent); ToolTip = ""; ToolTipOpening += ChangeToolTipContent; props._stationInfoBorder = new Border(); props._stationInfoBorder.Background = new SolidColorBrush(Colors.Red); props._stationInfoBorder.CornerRadius = new CornerRadius(1.3); props._stationInfoBorder.Height = 5; Grid.SetColumn(props._stationInfoBorder, 0); //Name = "Stationx" + Global_Mouse.EncodeTransmissionTimestamp(); //Object name //Name = props.bufferDb.bufferName.Replace(" ", ""); //Object name //ContextMenu = new ContextMenu(); //=================================== //MenuItem propertiesItem = new MenuItem(); //propertiesItem.Header = "Thông tin"; //propertiesItem.Click += PropertiesMenu; //=================================== //MenuItem editItem = new MenuItem(); //editItem.Header = "Tùy chỉnh"; //editItem.Click += EditMenu; //=================================== //MenuItem removeItem = new MenuItem(); //removeItem.Header = "Xóa"; //removeItem.Click += RemoveMenu; //=================================== //ContextMenu.Items.Add(propertiesItem); //ContextMenu.Items.Add(editItem); //ContextMenu.Items.Add(rotateItem); //ContextMenu.Items.Add(removeItem); //====================EVENT===================== //MouseLeave += MouseLeaveStation; //MouseMove += MouseHoverStation; //MouseLeftButtonDown += MouseLeftButtonDownStation; //MouseRightButtonDown += MouseRightButtonDownStation; //===================CREATE===================== props.NameID = props.bufferDb.bufferName; //label //props.Bays = props.bufferDb.maxBay; //props.Rows = props.bufferDb.maxRow; Width = 11 * props.bufferDb.maxBay; Height = 13 * props.bufferDb.maxRow; props._palletList = new SortedDictionary <string, PalletShape>(); props._myTransformGroup = new TransformGroup(); props._myRotateTransform = new RotateTransform(); props._myTranslateTransform = new TranslateTransform(); //Add Pallet to Grid for (int bayIndex = 0; bayIndex < props.bufferDb.maxBay; bayIndex++) //Column Index { //Create a Col ColumnDefinition colTemp = new ColumnDefinition(); colTemp.Name = Name + "xL" + bayIndex; props._stationGrid.ColumnDefinitions.Add(colTemp); //Create GridLine Grid gridLine = new Grid(); // Create BorderLine Border borderLine = new Border(); Grid.SetColumn(borderLine, bayIndex); borderLine.Child = gridLine; // props._stationGrid.Children.Add(borderLine); if (bayIndex > 0) { borderLine.BorderBrush = new SolidColorBrush(Colors.Black); borderLine.BorderThickness = new Thickness(0.3, 0, 0, 0); } //Add Pallet to GridPallet ==> add GridPallet to BorderLine for (int rowIndex = 0; rowIndex < props.bufferDb.maxRow; rowIndex++) //Row Index, start from 1, Row 0 use for Infomation { //Create Rows for Col RowDefinition rowTemp = new RowDefinition(); rowTemp.Name = Name + "xR" + rowIndex; //rowTemp.MinHeight = 10; gridLine.RowDefinitions.Add(rowTemp); //============= //PalletShape palletTemp = new PalletShape(Name + "x" + lineIndex + "x" + palletIndex); PalletShape palletTemp = new PalletShape("Pallet" + "x" + bayIndex + "x" + rowIndex); Grid.SetRow(palletTemp, rowIndex); gridLine.Children.Add(palletTemp); props._palletList.Add(palletTemp.name, palletTemp); } } //==================SPECIALPOINT=================== props._eightCorner = new List <Point>(); for (int i = 0; i < 8; i++) { Point temp = new Point(); props._eightCorner.Add(temp); } //==================CHILDREN=================== //props.stationGrid.Children.Add(props.stationInfomation); Child = props._stationGrid; props._myTransformGroup.Children.Add(props._myRotateTransform); props._myTransformGroup.Children.Add(props._myTranslateTransform); RenderTransform = props._myTransformGroup; dynamic bufferData = JsonConvert.DeserializeObject(props.bufferDb.bufferData); if (bufferData != null) { props._posision = Global_Object.CoorCanvas(new Point((double)bufferData.x, (double)bufferData.y)); props._rotate = (double)bufferData.angle; } props._myRotateTransform.Angle = props._rotate; props._myTranslateTransform = new TranslateTransform(props._posision.X, props._posision.Y); props._myTransformGroup.Children[0] = props._myRotateTransform; props._myTransformGroup.Children[1] = props._myTranslateTransform; props._canvas = pCanvas; props._canvas.Children.Add(this); //aTimer = new System.Timers.Timer(); //aTimer.Interval = 1000; //aTimer.Elapsed += OnTimedRedrawStationEvent; //aTimer.AutoReset = true; //aTimer.Enabled = true; //Get list pallet }
//private void OnTimedRedrawStationEvent(object sender, ElapsedEventArgs e) //{ // ReDraw(props._posision); //} public void ReDraw() { Dispatcher.BeginInvoke(new ThreadStart(() => { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Global_Object.url + "buffer/getListBuffer"); request.Method = "GET"; request.ContentType = @"application/json"; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string result = reader.ReadToEnd(); DataTable buffers = JsonConvert.DeserializeObject <DataTable>(result); foreach (DataRow dr in buffers.Rows) { dtBuffer tempBuffer = new dtBuffer { creUsrId = int.Parse(dr["creUsrId"].ToString()), creDt = dr["creDt"].ToString(), updUsrId = int.Parse(dr["updUsrId"].ToString()), updDt = dr["updDt"].ToString(), bufferId = int.Parse(dr["bufferId"].ToString()), bufferName = dr["bufferName"].ToString(), bufferNameOld = dr["bufferNameOld"].ToString(), bufferCheckIn = dr["bufferCheckIn"].ToString(), bufferData = dr["bufferData"].ToString(), maxRow = int.Parse(dr["maxRow"].ToString()), maxBay = int.Parse(dr["maxBay"].ToString()), maxRowOld = int.Parse(dr["maxRowOld"].ToString()), maxBayOld = int.Parse(dr["maxBayOld"].ToString()), bufferReturn = bool.Parse(dr["bufferReturn"].ToString()), bufferReturnOld = bool.Parse(dr["bufferReturnOld"].ToString()), //pallets }; if ((tempBuffer.bufferId == this.props.bufferDb.bufferId) && (tempBuffer.bufferName == this.props.bufferDb.bufferName)) { if ((this.props.bufferDb.maxBay != tempBuffer.maxBay) || ((this.props.bufferDb.maxRow != tempBuffer.maxRow))) { props.bufferDb = tempBuffer; props._stationGrid.Children.Clear(); props._stationGrid.ColumnDefinitions.Clear(); props._stationGrid.RowDefinitions.Clear(); props._palletList.Clear(); Width = 11 * props.bufferDb.maxBay; Height = 13 * props.bufferDb.maxRow; for (int bayIndex = 0; bayIndex < props.bufferDb.maxBay; bayIndex++) //Column Index { //Create a Col ColumnDefinition colTemp = new ColumnDefinition(); colTemp.Name = Name + "xL" + bayIndex; props._stationGrid.ColumnDefinitions.Add(colTemp); //Create GridLine Grid gridLine = new Grid(); // Create BorderLine Border borderLine = new Border(); Grid.SetColumn(borderLine, bayIndex); borderLine.Child = gridLine; // props._stationGrid.Children.Add(borderLine); if (bayIndex > 0) { borderLine.BorderBrush = new SolidColorBrush(Colors.Black); borderLine.BorderThickness = new Thickness(0.3, 0, 0, 0); } //Add Pallet to GridPallet ==> add GridPallet to BorderLine for (int rowIndex = 0; rowIndex < props.bufferDb.maxRow; rowIndex++) //Row Index, start from 1, Row 0 use for Infomation { //Create Rows for Col RowDefinition rowTemp = new RowDefinition(); rowTemp.Name = Name + "xR" + rowIndex; //rowTemp.MinHeight = 10; gridLine.RowDefinitions.Add(rowTemp); //============= //PalletShape palletTemp = new PalletShape(Name + "x" + lineIndex + "x" + palletIndex); PalletShape palletTemp = new PalletShape("Pallet" + "x" + bayIndex + "x" + rowIndex); Grid.SetRow(palletTemp, rowIndex); gridLine.Children.Add(palletTemp); props._palletList.Add(palletTemp.name, palletTemp); } } } else { props.bufferDb = tempBuffer; } } } } dynamic bufferData = JsonConvert.DeserializeObject(props.bufferDb.bufferData); props._posision = Global_Object.CoorCanvas(new Point(((bufferData != null) ? (((double)bufferData.x)) : 0), ((bufferData != null) ? (((double)bufferData.y)) : 0))); props._rotate = (bufferData != null) ? (((double)bufferData.angle)) : 0; Draw(); })); }