Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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);
                    }
                }
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        //#############---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);
        }
Beispiel #5
0
        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
            {
            }
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        //#############---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
        }
Beispiel #8
0
        //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();
            }));
        }