Beispiel #1
0
        private void panel_juristic_Paint(object sender, PaintEventArgs e)
        {
            if (UpdateJuristicGraph == false)
            {
                return;
            }

            if (jti == null)
            {
                return;
            }

            var  p             = sender as Panel;
            var  g             = e.Graphics;
            Size draw_area     = p.Size;
            int  x_step        = draw_area.Width / juristic_days;
            int  x_center_init = draw_area.Width / (2 * juristic_days);


            foreach (Object obj in match_juristic_trade_info)
            {
                JuristicTradeInfo ti = (JuristicTradeInfo)obj;

                Color  color     = (ti.total_volume > 0) ? Color.Red : Color.Green;
                Pen    thickPen  = new Pen(color, x_step - 1);
                int    day_diff  = (DateTime.Now - ti.trans_date).Days;
                int    x         = draw_area.Width - (x_center_init + x_step * day_diff);
                double y_ratio   = draw_area.Height / (2.0 * y_height);
                int    map_value = (int)(ti.total_volume * y_ratio);
                int    y         = draw_area.Height / 2 - map_value;

                g.DrawLine(thickPen, x, draw_area.Height / 2, x, y);
            }
            UpdateJuristicGraph = false;
        }
        public override ArrayList ParseHtml(MySqlConnection conn, string source, DateTime date)
        {
            JObject   obj    = JObject.Parse(source);
            ArrayList stocks = new ArrayList();

            if (!IsValidJson(source))
            {
                return(stocks);
            }

            if (obj == null || obj["data"] == null)
            {
                return(stocks);
            }

            foreach (JArray stk in obj["data"])
            {
                //String stock_str = stk.ToString();
                //stock_str = stock_str.Substring(1, stock_str.Length - 2);   //remove []
                JToken[] token_ary   = stk.ToArray();
                String[] stk_strings = new string[token_ary.Length];
                for (int i = 0; i < token_ary.Length; i++)
                {
                    stk_strings[i] = token_ary[i].ToString();
                }

                JuristicTradeInfo stock_info = new JuristicTradeInfo(stk_strings, date);
                stocks.Add(stock_info);
            }

            return(stocks);
        }
Beispiel #3
0
        public void StockData_SaveForeign(ArrayList data)
        {
            foreach (Object obj in data)
            {
                JuristicTradeInfo stock_info    = (JuristicTradeInfo)obj;
                String            stock_db_name = stock_info.stock_index;

                if (stock_db_name.StartsWith("237") == false)   //debug
                {
                    continue;
                }

                /*string sql_update = "UPDATE @stock_db_name " +
                 *              " SET foreign_buy=@buy_volume, foreign_sell=@sell_volume, foreign_total=@total_volume " +
                 *              " WHERE trans_date =@trans_date;";*/
                string sql_update = "UPDATE " + StockPage.StockDbName(stock_db_name) +
                                    " SET foreign_buy=@buy_volume, foreign_sell=@sell_volume, foreign_total=@total_volume " +
                                    " WHERE trans_date =@trans_date;";

                MySqlCommand cmd_insert = new MySqlCommand(sql_update, conn);
                cmd_insert.Parameters.AddWithValue("@stock_db_name", StockPage.StockDbName(stock_db_name));
                cmd_insert.Parameters.AddWithValue("@buy_volume", stock_info.buy_volume);
                cmd_insert.Parameters.AddWithValue("@sell_volume", stock_info.sell_volume);
                cmd_insert.Parameters.AddWithValue("@total_volume", stock_info.total_volume);
                cmd_insert.Parameters.AddWithValue("@trans_date", Util.convertDate2mysql(stock_info.trans_date));

                try
                {
                    cmd_insert.ExecuteNonQuery();
                }
                catch (MySql.Data.MySqlClient.MySqlException ex)
                {
                    //MessageBox.Show("Error " + ex.Number + " has occurred: " + ex.Message,
                    //    "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }