示例#1
0
        private void _ChartMain_MouseMove(object sender, MouseEventArgs e)
        {
            if (!Cursors)
            {
                return;
            }

            while (UpdateSpan < 100)
            {
                Thread.Sleep(1);
            }

            //cursor position schould not be changed while zooming, if mouse have not moved during this operation
            if (ZoomPointOrigin == ZoomPointNow)
            {
                return;
            }

            ChartMain.Invoke((MethodInvoker)(() =>
            {
                ChartArea area = ChartMain.ChartAreas[0];
                area.CursorX.SetCursorPixelPosition(MousePosition, false);
                area.CursorY.SetCursorPixelPosition(MousePosition, false);
                CursorPosition = new Point2D(area.CursorX.Position, area.CursorY.Position);
            }));
        }
示例#2
0
 void ChartMain_MouseEnter(object sender, EventArgs e)
 {
     if (!ChartMain.Focused)
     {
         ChartMain.Focus();
     }
 }
示例#3
0
        public void PeacemakerUpdate()
        {
            if (Manager == null)
            {
                return;
            }

            Rate rate = this.Rate;

            if (rate == null)
            {
                return;              // || rate.Frame == ServiceConfiguration.TimeFrame.LIVE) return;
            }
            ChartPoint[] ACPints;
            DataPoint[]  ADPoints;
            ChartPointInfo.DataPointType CPIDType = ChartPointInfo.DataPointType.Candle;
            SeriesChartType SCType = SeriesChartType.Candlestick;

            if (rate.Frame == ServiceConfiguration.TimeFrame.LIVE)
            {
                CPIDType = ChartPointInfo.DataPointType.AskLine;
                SCType   = SeriesChartType.Line;
            }



            if (RateInfo.EqualsOrigin(rate, RateOld))
            {
                int count = ChartMain.CountPoints(rate.Pair, this);
                ACPints = Manager.ForexArchive.GetChartPoints(rate, count);

                if (ACPints.Length <= 0)
                {
                    return;
                }

                ADPoints = ChartPointInfo.ToDataPoints(ACPints, CPIDType);
            }
            else
            {
                RateOld = rate;

                ChartMain.ClearSeries(this);
                ChartMain.Add(rate.Pair, SCType, this);

                if (SCType == SeriesChartType.Candlestick)
                {
                    ChartMain.SetCandlestickSettings(this, rate.Pair, Color.Green, Color.Red, Color.Black, Color.Transparent);
                }



                ACPints  = Manager.ForexArchive.GetChartPoints(rate);
                ADPoints = ChartPointInfo.ToDataPoints(ACPints, CPIDType);
            }

            ChartMain.AddRange(this, rate.Pair, ADPoints, ChartValueType.DateTime, ChartValueType.Double);
        }
示例#4
0
        /// <summary>
        /// 更新数据
        /// </summary>
        /// <param name='model'>实体</param>
        /// <returns>bool</returns>
        public bool Update(ChartMain model)
        {
            bool result  = false;
            var  e       = new ModelExceptions();
            int  _rseult = instance.Update(model);

            if (_rseult > 0)
            {
                result = true;
            }
            return(result);
        }
示例#5
0
        /// <summary>
        /// 获取实体数据
        /// </summary>
        /// <param name='strCondition'>条件(AND Code='11')</param>
        /// <returns>model</returns>
        public ChartMain GetModel(string strCondition)
        {
            List <ChartMain> list  = instance.GetListByWhere(strCondition);
            ChartMain        model = new ChartMain();

            if (list != null && list.Count > 0)
            {
                model = list[0];
            }
            else
            {
                model = null;
            }
            return(model);
        }
示例#6
0
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name='model'>实体</param>
        /// <param name='model'>是否完成验证</param>
        /// <returns>bool</returns>
        public bool Insert(ChartMain model, bool IsValid)
        {
            var  e      = new ModelExceptions();
            bool result = false;

            if (e.IsValid && IsValid)
            {
                //完成了验证,开始更新数据库了
                int _result = instance.Add(model);
                if (_result > 0)
                {
                    result = true;
                }
            }
            return(result);
        }
示例#7
0
        /// <summary>
        /// 逻辑删除数据
        /// </summary>
        /// <param name='model'>model</param>
        /// <returns>bool</returns>
        public bool Delete(string Condition)
        {
            bool             result = false;
            List <ChartMain> list   = instance.GetListByWhere(Condition);

            if (list.Count > 0)
            {
                ChartMain model = list[0];
                model.Stat = 1;
                int _rseult = instance.Update(model);
                if (_rseult > 0)
                {
                    result = true;
                }
            }
            return(result);
        }
示例#8
0
        private void CursorsLabelsUpdate()
        {
            if (CursorPosition.IsInvalid || !Cursors)
            {
                return;
            }

            int XX = MousePosition.X - LblCursorX.Width / 2;
            int YY = MousePosition.Y - LblCursorY.Height / 2;

            //bool visible = true;



            ChartArea areas = ChartMain.ChartAreas[0];



            if (PlotVector.IsInvalid || !AMath.InArea(PlotVector, (Point2D)MousePosition))
            {
                return;
            }


            DateTime time = DateTime.FromOADate(CursorPosition.X);
            string   sX   = time.ToString("yyyy-MM-dd HH:mm:ss");
            string   sY   = System.String.Format("{0:N5}", CursorPosition.Y);

            ChartMain.Invoke((MethodInvoker)(() =>
            {
                if (sX != LblCursorX.Text)
                {
                    LblCursorX.Text = sX;
                    LblCursorX.Location = new Point(XX, LblCursorX.Location.Y);
                }

                if (sY != LblCursorY.Text)
                {
                    LblCursorY.Text = sY;
                    LblCursorY.Location = new Point(LblCursorY.Location.X, YY);
                }


                ChartMain.Update();
            }));
        }
示例#9
0
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name='model'>实体</param>
        /// <returns>bool</returns>
        public bool Insert(ChartMain model)
        {
            bool result = false;

            try
            {
                int _result = instance.Add(model);
                if (_result > 0)
                {
                    result = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(result);
        }
示例#10
0
        private void _ChartMain_MouseMove(object sender, MouseEventArgs e)
        {
            if (!Cursors)
            {
                return;
            }

            while (UpdateSpan < 100)
            {
                Thread.Sleep(1);
            }

            ChartMain.Invoke((MethodInvoker)(() =>
            {
                ChartArea area = ChartMain.ChartAreas[0];
                area.CursorX.SetCursorPixelPosition(MousePosition, false);
                area.CursorY.SetCursorPixelPosition(MousePosition, false);
                CursorPosition = new Point2D(area.CursorX.Position, area.CursorY.Position);
            }));
        }
示例#11
0
        /// <summary>
        /// 获取实体数据
        /// </summary>
        /// <param name='strCondition'>条件(AND Code='11')</param>
        /// <returns>model</returns>
        public ChartMain GetModel(int id)
        {
            ChartMain model = instance.GetByKey(id);

            return(model);
        }