Example #1
0
 private void BackThreadChartPoints(ItemPoint oLVListItem)
 {
     ShowLoading();
     isAdd  = false;
     thread = new Thread(new ParameterizedThreadStart(GetChartPoints));
     thread.Start(oLVListItem);
 }
Example #2
0
        public Form()
        {
            InitializeComponent();
            this.SetupDescibedTaskColumn();
            // How much space do we want to give each row? Obviously, this should be at least
            // the height of the images used by the renderer
            this.deviceList.RowHeight = 54;
            this.deviceList.UseAlternatingBackColors = false;
            this.deviceList.ButtonClick += delegate(object sender, CellClickEventArgs e)
            {
                ItemPoint task = (ItemPoint)e.Model;
                DeviceDataDao.Instance.Delete(task.deviceId);
                RemarksDao.Instance.Delete(task.deviceId);
                WarningDao.Instance.Delete(task.deviceId);

                items.Remove(task);
                if (mDeviceId != null && mDeviceId.Equals(task.deviceId))
                {
                    tabControl1.Controls.Clear();
                    mDeviceId = null;
                }
                deviceList.SetObjects(items);
                MessageBox.Show(task.title + "已删除");
            };
            this.detailObject.FormatCell += detailObject_FormatCell;
        }
Example #3
0
        private ItemPoint DeserializePoint(string[] m)
        {
            var pointItem = new ItemPoint();

            pointItem.Id = int.Parse(m[1]);
            pointItem.X  = double.Parse(m[2]);
            pointItem.Y  = double.Parse(m[3]);
            return(pointItem);
        }
Example #4
0
        public XPoint Deserialize(ISheet sheet, XBlock parent, ItemPoint pointItem, double thickness)
        {
            var point = _blockFactory.CreatePoint(thickness, pointItem.X, pointItem.Y, false);

            point.Id = pointItem.Id;

            parent.Points.Add(point);
            sheet.Add(point);

            return(point);
        }
Example #5
0
 void INetworkResult.OnSuccess(ItemPoint item)
 {
     if (loading.InvokeRequired)
     {
         loading.BeginInvoke(new DelegateCreateDatas(ResultSuccess), item);
     }
     else
     {
         HideLoading();
     }
 }
Example #6
0
 public void Serialize(StringBuilder sb, ItemPoint point, string indent, ItemSerializeOptions options)
 {
     sb.Append(indent);
     sb.Append("POINT");
     sb.Append(options.ModelSeparator);
     sb.Append(point.Id);
     sb.Append(options.ModelSeparator);
     sb.Append(point.X);
     sb.Append(options.ModelSeparator);
     sb.Append(point.Y);
     sb.Append(options.LineSeparator);
 }
Example #7
0
        /// <summary>
        /// Returns a DateTime object if found, else returns Datetime.Now
        /// </summary>
        /// <param CategoryData="CatData"></param>
        /// <param ItemData="ItemDat"></param>
        /// <returns></returns>
        public System.DateTime FindtItemInItemstack_DAT(CategoryData CatData, ItemData ItemDat)
        {
            ItemPoint MomentPoint = FindIndexOfCategory(CatData.Name, ItemDat.Name, CatData.Offset, ItemDat.Offset);

            if (MomentPoint.X != -1)
            {
                if (MomentPoint.Y != -1)
                {
                    return(System.DateTime.Parse(ItemStack[MomentPoint.X].ValueStack[MomentPoint.Y].GetValue()));
                }
            }
            return(System.DateTime.Now);
        }
Example #8
0
        /// <summary>
        /// Returns a Brush object if found, else returns a white brush.
        /// </summary>
        /// <param CategoryData="CatData"></param>
        /// <param ItemData="ItemDat"></param>
        /// <returns></returns>
        public System.Windows.Media.Brush FindtItemInItemstack_BRS(CategoryData CatData, ItemData ItemDat)
        {
            ItemPoint MomentPoint = FindIndexOfCategory(CatData.Name, ItemDat.Name, CatData.Offset, ItemDat.Offset);

            if (MomentPoint.X != -1)
            {
                if (MomentPoint.Y != -1)
                {
                    return((System.Windows.Media.SolidColorBrush)(new System.Windows.Media.BrushConverter().ConvertFrom(ItemStack[MomentPoint.X].ValueStack[MomentPoint.Y].GetValue())));
                }
            }
            return(System.Windows.Media.Brushes.White);
        }
Example #9
0
        /// <summary>
        /// Returns a int if found, else returns 0
        /// </summary>
        /// <param CategoryData="CatData"></param>
        /// <param ItemData="ItemDat"></param>
        /// <returns></returns>
        public int FindtItemInItemstack_INT(CategoryData CatData, ItemData ItemDat)
        {
            ItemPoint MomentPoint = FindIndexOfCategory(CatData.Name, ItemDat.Name, CatData.Offset, ItemDat.Offset);

            if (MomentPoint.X != -1)
            {
                if (MomentPoint.Y != -1)
                {
                    return(Int32.Parse(ItemStack[MomentPoint.X].ValueStack[MomentPoint.Y].GetValue()));
                }
            }
            return(0);
        }
Example #10
0
        /// <summary>
        /// Returns a bool if found, else returns false
        /// </summary>
        /// <param CategoryData="CatData"></param>
        /// <param ItemData="ItemDat"></param>
        /// <returns></returns>
        public bool FindtItemInItemstack_BOL(CategoryData CatData, ItemData ItemDat)
        {
            ItemPoint MomentPoint = FindIndexOfCategory(CatData.Name, ItemDat.Name, CatData.Offset, ItemDat.Offset);

            if (MomentPoint.X != -1)
            {
                if (MomentPoint.Y != -1)
                {
                    return(Convert.ToBoolean(ItemStack[MomentPoint.X].ValueStack[MomentPoint.Y].GetValue()));
                }
            }
            return(false);
        }
Example #11
0
        /// <summary>
        /// Returns a string if found, else returns an empty string
        /// </summary>
        /// <param CategoryData="CatData"></param>
        /// <param ItemData="ItemDat"></param>
        /// <returns></returns>
        public string FindtItemInItemstack_STR(CategoryData CatData, ItemData ItemDat)
        {
            ItemPoint MomentPoint = FindIndexOfCategory(CatData.Name, ItemDat.Name, CatData.Offset, ItemDat.Offset);

            if (MomentPoint.X != -1)
            {
                if (MomentPoint.Y != -1)
                {
                    return(ItemStack[MomentPoint.X].ValueStack[MomentPoint.Y].GetValue());
                }
            }
            return("");
        }
Example #12
0
    void CreateItem()
    {
        List <ItemPoint> tmpItemPoint = ItemPoints.FindAll(e => !e.IsHaveItem);

        if (tmpItemPoint.Count == 0)
        {
            return;
        }

        ItemPoint newPoint = tmpItemPoint[Random.Range(0, tmpItemPoint.Count)];

        ItemBase sampleItem = SampleItems[Random.Range(0, SampleItems.Count)];

        CreateItemCount++;
        lastCreateItmTime          = Time.time;
        NextCreateItemIntervalTime = CreateItemIntervalTime + Random.Range(0, CreateItemIntervalTimeRadomRange);

        newPoint.CreateItem(sampleItem);
    }
        public byte[] Write()
        {
            MemoryStream       m  = new MemoryStream();
            EndianBinaryWriter er = new EndianBinaryWriter(m, Endianness.LittleEndian);
            int NrSections        = 0;

            if (ObjectInformation != null)
            {
                NrSections++;
            }
            if (Path != null)
            {
                NrSections++;
            }
            if (Point != null)
            {
                NrSections++;
            }
            if (Stage != null)
            {
                NrSections++;
            }
            if (KartPointStart != null)
            {
                NrSections++;
            }
            if (KartPointJugem != null)
            {
                NrSections++;
            }
            if (KartPointSecond != null)
            {
                NrSections++;
            }
            if (KartPointCannon != null)
            {
                NrSections++;
            }
            if (KartPointMission != null)
            {
                NrSections++;
            }
            if (CheckPoint != null)
            {
                NrSections++;
            }
            if (CheckPointPath != null)
            {
                NrSections++;
            }
            if (ItemPoint != null)
            {
                NrSections++;
            }
            if (ItemPath != null)
            {
                NrSections++;
            }
            if (EnemyPoint != null)
            {
                NrSections++;
            }
            if (EnemyPath != null)
            {
                NrSections++;
            }
            if (MiniGameEnemyPoint != null)
            {
                NrSections++;
            }
            if (MiniGameEnemyPath != null)
            {
                NrSections++;
            }
            if (Area != null)
            {
                NrSections++;
            }
            if (Camera != null)
            {
                NrSections++;
            }
            Header.SectionOffsets = new UInt32[NrSections];
            Header.Write(er);

            int SectionIdx = 0;

            if (ObjectInformation != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                ObjectInformation.Write(er);
                SectionIdx++;
            }
            if (Path != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Path.Write(er);
                SectionIdx++;
            }
            if (Point != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Point.Write(er);
                SectionIdx++;
            }
            if (Stage != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Stage.Write(er);
                SectionIdx++;
            }
            if (KartPointStart != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                KartPointStart.Write(er);
                SectionIdx++;
            }
            if (KartPointJugem != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                KartPointJugem.Write(er);
                SectionIdx++;
            }
            if (KartPointSecond != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                KartPointSecond.Write(er);
                SectionIdx++;
            }
            if (KartPointCannon != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                KartPointCannon.Write(er);
                SectionIdx++;
            }
            if (KartPointMission != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                KartPointMission.Write(er);
                SectionIdx++;
            }
            if (CheckPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                CheckPoint.Write(er);
                SectionIdx++;
            }
            if (CheckPointPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                CheckPointPath.Write(er);
                SectionIdx++;
            }
            if (ItemPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                ItemPoint.Write(er);
                SectionIdx++;
            }
            if (ItemPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                ItemPath.Write(er);
                SectionIdx++;
            }
            if (EnemyPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                EnemyPoint.Write(er);
                SectionIdx++;
            }
            if (EnemyPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                EnemyPath.Write(er);
                SectionIdx++;
            }
            if (MiniGameEnemyPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                MiniGameEnemyPoint.Write(er);
                SectionIdx++;
            }
            if (MiniGameEnemyPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                MiniGameEnemyPath.Write(er);
                SectionIdx++;
            }
            if (Area != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Area.Write(er);
                SectionIdx++;
            }
            if (Camera != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Camera.Write(er);
                SectionIdx++;
            }

            byte[] result = m.ToArray();
            er.Close();
            return(result);
        }
Example #14
0
        private void ResultSuccess(ItemPoint item)
        {
            int mCount = 0;

            foreach (DataStreams datastreams in item.dataStreamsList)
            {
                mCount = datastreams.datapoints.Count;
                break;
            }

            if (mCount > 1)
            {
                foreach (ItemPoint iP in items)
                {
                    if (iP.deviceId.Equals(item.deviceId))
                    {
                        iP.dataStrams      = item.dataStrams;
                        iP.dataStreamsList = item.dataStreamsList;
                    }
                }
                deviceList.SetObjects(items);
                if (mDeviceId != null && mDeviceId.Equals(item.deviceId))
                {
                    this.deviceList.SelectionChanged += DelegateItemClick;
                    AddTabPages(item);
                }
            }
            else
            {
                if (!deviceList.IsDisposed)
                {
                    if (isAdd)
                    {
                        items.Add(item);
                        deviceList.SetObjects(items);
                    }
                    else
                    {
                        int       pointCount = 0;
                        ItemPoint itemPoint  = null;
                        foreach (ItemPoint itemP in items)
                        {
                            if (itemP.deviceId.Equals(item.deviceId))
                            {
                                itemPoint = itemP;
                                foreach (DataStreams datastreamsPoint in itemP.dataStreamsList)
                                {
                                    pointCount = datastreamsPoint.datapoints.Count;
                                    break;
                                }
                                break;
                            }
                        }

                        if (itemPoint == null)
                        {
                            items.Add(item);
                        }
                        else
                        {
                            if (pointCount > 1)
                            {
                                foreach (DataStreams datastreamsPoint in itemPoint.dataStreamsList)
                                {
                                    string            id             = datastreamsPoint.id;
                                    List <DataPoints> dataPointsList = datastreamsPoint.datapoints;
                                    dataPointsList.RemoveAt(dataPointsList.Count - 1);
                                    foreach (DataStreams datastreams in item.dataStreamsList)
                                    {
                                        if (datastreams.id.Equals(id))
                                        {
                                            foreach (DataPoints point in datastreams.datapoints)
                                            {
                                                dataPointsList.Insert(0, point);
                                                break;
                                            }
                                            break;
                                        }
                                    }
                                }
                                if (mDeviceId != null && mDeviceId.Equals(item.deviceId))
                                {
                                    AddTabPages(itemPoint);
                                }
                            }
                            else
                            {
                                itemPoint.dataStreamsList = item.dataStreamsList;
                            }
                            itemPoint.dataStrams = item.dataStrams;
                        }
                        count--;
                        if (count == 0)
                        {
                            refresh.Visible = false;
                            deviceList.SetObjects(items);
                        }
                    }
                }
            }
            HideLoading();
            WarningInfo(item.deviceId, item.title, item.dataStreamsList, item.deviceDatastreams);
        }
Example #15
0
        public byte[] Write()
        {
            MemoryStream       m  = new MemoryStream();
            EndianBinaryWriter er = new EndianBinaryWriter(m, Endianness.LittleEndian);
            int NrSections        = 0x12;

            Header.SectionOffsets = new UInt32[NrSections];
            Header.Write(er);

            int SectionIdx = 0;

            if (KartPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                KartPoint.Write(er);
                SectionIdx++;
            }
            if (EnemyPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                EnemyPoint.Write(er);
                SectionIdx++;
            }
            if (EnemyPointPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                EnemyPointPath.Write(er);
                SectionIdx++;
            }
            if (ItemPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                ItemPoint.Write(er);
                SectionIdx++;
            }
            if (ItemPointPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                ItemPointPath.Write(er);
                SectionIdx++;
            }
            if (CheckPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                CheckPoint.Write(er);
                SectionIdx++;
            }
            if (CheckPointPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                CheckPointPath.Write(er);
                SectionIdx++;
            }
            if (GlobalObject != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                GlobalObject.Write(er);
                SectionIdx++;
            }
            if (PointInfo != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                PointInfo.Write(er);
                SectionIdx++;
            }
            if (Area != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Area.Write(er);
                SectionIdx++;
            }
            if (Camera != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                Camera.Write(er);
                SectionIdx++;
            }
            if (JugemPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                JugemPoint.Write(er);
                SectionIdx++;
            }
            if (CannonPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                CannonPoint.Write(er);
                SectionIdx++;
            }
            if (MissionPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                MissionPoint.Write(er);
                SectionIdx++;
            }
            if (StageInfo != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                StageInfo.Write(er);
                SectionIdx++;
            }
            if (CourseSect != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                CourseSect.Write(er);
                SectionIdx++;
            }
            if (GliderPoint != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                GliderPoint.Write(er);
                SectionIdx++;
            }
            if (GliderPointPath != null)
            {
                WriteHeaderInfo(er, SectionIdx);
                GliderPointPath.Write(er);
                SectionIdx++;
            }
            WriteHeaderFileSize(er);
            byte[] result = m.ToArray();
            er.Close();
            return(result);
        }
Example #16
0
        private void AddTabPages(ItemPoint oLVListItem)
        {
            tabControl1.Controls.Clear();
            foreach (DataStreams stream in oLVListItem.dataStreamsList)
            {
                TabPage tabPage1 = new TabPage();;
                tabPage1.BackColor = System.Drawing.Color.White;
                tabPage1.Location  = new System.Drawing.Point(0, 0);
                tabPage1.Name      = stream.id;
                tabPage1.Padding   = new System.Windows.Forms.Padding(3);
                tabPage1.Size      = new System.Drawing.Size(619, 472);
                tabPage1.TabIndex  = 0;
                RemarksID remarksID = RemarksDao.Instance.GetDeviceDataById(oLVListItem.deviceId + stream.id);
                string    title     = null;
                if (remarksID != null && !string.IsNullOrEmpty(remarksID.remarks))
                {
                    title = remarksID.remarks + "曲线";
                }
                else
                {
                    title = stream.id + "曲线";
                }
                System.Windows.Media.Color fillColor, strokeColor;
                if (remarksID != null && !string.IsNullOrEmpty(remarksID.A) && !string.IsNullOrEmpty(remarksID.R) && !string.IsNullOrEmpty(remarksID.G) && !string.IsNullOrEmpty(remarksID.B))
                {
                    fillColor   = System.Windows.Media.Color.FromArgb(byte.Parse(remarksID.A), byte.Parse(remarksID.R), byte.Parse(remarksID.G), byte.Parse(remarksID.B));
                    strokeColor = System.Windows.Media.Color.FromArgb(byte.Parse(remarksID.A), byte.Parse(remarksID.R), byte.Parse(remarksID.G), byte.Parse(remarksID.B));
                }
                else
                {
                    fillColor   = System.Windows.Media.Color.FromArgb(255, 0, 0, 0);
                    strokeColor = System.Windows.Media.Color.FromArgb(225, 0, 0, 0);
                }
                tabPage1.Text = title;
                this.tabControl1.Controls.Add(tabPage1);


                //
                // cartesianChart1
                //
                LiveCharts.WinForms.CartesianChart cartesianChart1 = new LiveCharts.WinForms.CartesianChart
                {
                    Dock     = System.Windows.Forms.DockStyle.Fill,
                    Location = new System.Drawing.Point(0, 0),
                    Name     = "cartesianChart1",
                    Size     = new System.Drawing.Size(619, 472),
                    TabIndex = 1,
                    Text     = "cartesianChart1"
                };
                cartesianChart1.Zoom = ZoomingOptions.X;
                List <DataPoints> dataPointsList = stream.datapoints;
                double[]          values         = new double[dataPointsList.Count];
                string[]          labels         = new string[dataPointsList.Count];
                int m = dataPointsList.Count - 1;
                foreach (DataPoints dataPoints in dataPointsList)
                {
                    values[m] = double.Parse(dataPoints.value);
                    labels[m] = dataPoints.at;
                    m--;
                }
                cartesianChart1.Series = new SeriesCollection
                {
                    new LineSeries
                    {
                        Title         = title,
                        Values        = new ChartValues <double>(values),
                        PointGeometry = DefaultGeometries.None,
                        Fill          = new SolidColorBrush
                        {
                            Color   = fillColor,
                            Opacity = .4
                        },
                        Stroke = new SolidColorBrush(strokeColor)
                    }
                };

                cartesianChart1.AxisX.Add(new Axis
                {
                    Title  = "时间",
                    Labels = labels
                });

                string unit = null;
                foreach (DeviceDataStreams devicestream in oLVListItem.deviceDatastreams)
                {
                    if (devicestream.id.Equals(stream.id))
                    {
                        unit = devicestream.unit;
                        break;
                    }
                }

                cartesianChart1.AxisY.Add(new Axis
                {
                    //Title = "Sales",
                    LabelFormatter = value => value.ToString("") + unit
                });

                cartesianChart1.LegendLocation = LegendLocation.Top;
                tabPage1.Controls.Add(cartesianChart1);
            }
            foreach (Control con in this.Controls)
            {
                if (!con.Name.Equals("Panel"))
                {
                    con.Tag = con.Width + ":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
                    if (con.Controls.Count > 0)
                    {
                        SetTag(con);
                    }
                }
            }
        }
Example #17
0
        private void Form1_Load(object sender, EventArgs e)
        {
            this.deviceList.SelectionChanged += DelegateItemClick;
            this.Resize += new EventHandler(Form1_Resize);
            width        = this.Width;
            height       = this.Height;
            SetTag(this);
            Form1_Resize(new object(), new EventArgs());//x,y可在实例化时赋值,最后这句是新加的,在MDI时有用

            this.deviceList.HotItemChanged += delegate(object msender, HotItemChangedEventArgs args) {
                if (sender == null)
                {
                    return;
                }
                switch (args.HotCellHitLocation)
                {
                case HitTestLocation.Nothing:

                    ClearAddedcomponent();
                    break;

                case HitTestLocation.Text:
                    detail.Visible = true;
                    Point point = deviceList.GetItem(args.HotRowIndex).Position;
                    if (point.Y < 2 + Panel.Height)
                    {
                        detail.Location = new Point(deviceList.Width, 2 + Panel.Height);
                    }
                    else if (point.Y + detail.Height > Height - 2)
                    {
                        detail.Location = new Point(deviceList.Width, Height - 2 - detail.Height);
                    }
                    else
                    {
                        detail.Location = new Point(deviceList.Width, point.Y);
                    }

                    ItemPoint oLVListItem = (ItemPoint)deviceList.GetItem(args.HotRowIndex).RowObject;
                    detailInfo.Text = oLVListItem.title;
                    dialogDeviceId  = oLVListItem.deviceId;
                    List <DetailValue> list = new List <DetailValue>();
                    string             time = null;
                    foreach (DataStreams dataStream in oLVListItem.dataStreamsList)
                    {
                        //只获取最新的一个点在弹框中显示
                        bool        m           = false;
                        DetailValue detailValue = new DetailValue();
                        detailValue.ID = oLVListItem.deviceId;
                        foreach (DataPoints dataPoints in dataStream.datapoints)
                        {
                            if (m)
                            {
                                break;
                            }
                            detailValue.Name = dataStream.id;
                            StringBuilder builder = new StringBuilder();
                            if (time == null)
                            {
                                time = dataPoints.at;
                            }
                            else
                            {
                                if (time.CompareTo(dataPoints.at) < 0)
                                {
                                    time = dataPoints.at;
                                }
                            }
                            builder.Append(dataPoints.value);
                            foreach (DeviceDataStreams stream in oLVListItem.deviceDatastreams)
                            {
                                if (dataStream.id.Equals(stream.id))
                                {
                                    builder.Append(stream.unit);
                                    detailValue.Value = builder.ToString();
                                    list.Add(detailValue);
                                    m = true;
                                    break;
                                }
                            }
                        }
                    }
                    updateTime.Text = time;
                    detailObject.SetObjects(list);
                    break;
                }
            };
            items.Clear();
            BackThreadLatesPoint();
        }
Example #18
0
 public void Move(ItemPoint point, double x, double y)
 {
     point.X += x;
     point.Y += y;
 }
        /// <summary>
        /// 获取绘制图表的数据点
        /// </summary>
        /// <param name="deviceData"></param>
        /// <param name="result"></param>
        public void GetDataPoints(ItemPoint deviceData, INetworkResult result, string datastream_id,
                                  string limit, string start, string end, string cursor, string duration)
        {
            // client.Authenticator = new HttpBasicAuthenticator(username, password);

            var request = new RestRequest("devices/{device_id}/datapoints", Method.GET);

            request.AddUrlSegment("device_id", deviceData.deviceId); // replaces matching token in request.Resource

            // add parameters for all properties on an object
            //request.AddObject(object);

            // or just whitelisted properties
            //request.AddObject(object, "PersonId", "Name", ...);

            // easily add HTTP Headers
            request.AddHeader("api-key", "VtaeS4yK3Fk6xiOljgw69lYcH9k=");

            if (!string.IsNullOrEmpty(datastream_id))
            {
                request.AddParameter("datastream_id", datastream_id);
            }

            if (!string.IsNullOrEmpty(limit))
            {
                request.AddParameter("limit", limit);
            }

            if (!string.IsNullOrEmpty(start))
            {
                request.AddParameter("start", start);
            }

            if (!string.IsNullOrEmpty(end))
            {
                request.AddParameter("end", end);
            }

            if (!string.IsNullOrEmpty(cursor))
            {
                request.AddParameter("cursor", cursor);
            }

            if (!string.IsNullOrEmpty(duration))
            {
                request.AddParameter("duration", duration);
            }

            IRestResponse response = client.Execute(request);
            var           content  = response.Content; // raw content as string

            if (response.ResponseStatus == ResponseStatus.Completed)
            {
                AppPoint point = JsonHelper.DeserializeJsonToObject <AppPoint>(content);

                if (point.error.Equals("succ"))
                {
                    ItemPoint item = new ItemPoint
                    {
                        deviceId = deviceData.deviceId,
                        title    = deviceData.title
                    };
                    StringBuilder builder = new StringBuilder();
                    foreach (DataStreams dataStream in point.data.datastreams)
                    {
                        RemarksID remarksID = RemarksDao.Instance.GetDeviceDataById(item.deviceId + dataStream.id);
                        foreach (DataPoints dataPoints in dataStream.datapoints)
                        {
                            dataPoints.at = dataPoints.at.Substring(0, dataPoints.at.Length - 4);
                        }
                        if (dataStream.id.Equals("P") || dataStream.id.Equals("T") || dataStream.id.Equals("H"))
                        {
                            //只获取最新的一个点在列表里显示
                            bool m = false;
                            foreach (DataPoints dataPoints in dataStream.datapoints)
                            {
                                if (m)
                                {
                                    break;
                                }
                                if (remarksID == null || string.IsNullOrEmpty(remarksID.remarks))
                                {
                                    builder.Append(dataStream.id + "=" + dataPoints.value);
                                }
                                else
                                {
                                    builder.Append(remarksID.remarks + "=" + dataPoints.value);
                                }

                                foreach (DeviceDataStreams stream in deviceData.deviceDatastreams)
                                {
                                    if (dataStream.id.Equals(stream.id))
                                    {
                                        builder.Append(stream.unit + "  ");
                                        m = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    item.dataStreamsList   = point.data.datastreams;
                    item.deviceDatastreams = deviceData.deviceDatastreams;
                    item.dataStrams        = builder.ToString();

                    result.OnSuccess(item);
                }
                else
                {
                    result.OnFailure(point.error);
                }
            }
            else
            {
                result.OnFailure("获取" + deviceData.title + "的数据失败");
            }
        }