Example #1
0
        void Timer1Tick(object sender, EventArgs e)
        {
            bool flag = false;

            for (var i = 0; i < values.Length; i++)
            {
                if (aux_values[i] < values[i])
                {
                    aux_values[i] += 0.15f;
                    flag           = true;
                }
                else
                {
                    aux_values[i] = values[i];
                }
            }

            if (flag)
            {
                //drawing of graphs

                bitmap.clear();

                for (int i = 0; i < 24; i++)
                {
                    bitmap.graph(26 * i, 150, aux_values[i], 22, 130, 0);
                }

                pic.Image = bitmap.getBitmap();
            }
        }
        public FormStatsOrigin(int[] val)
        {
            values = val;

            for (var i = 0; i < 24; i++)
            {
                createText("120", 300, 300);
            }

            InitializeComponent();

            bitmap = new Classes.Image(pic.Width, pic.Height);

            //loading of values

            Random rnd = new Random();

            for (var i = 0; i < values.Length; i++)
            {
                values[i] = rnd.Next(50);
            }

            //get max value

            for (int i = 0; i < values.Length; i++)
            {
                if (values[i] > max_value)
                {
                    max_value = values[i];
                }
            }

            //drawing of graphs

            int w = 26;

            if (max_value > 0)
            {
                bitmap.clear();

                for (int i = 0; i < 24; i++)
                {
                    float v = (float)(values[i] / max_value);

                    if (v < 0.162f && v != 0f)
                    {
                        v = 0.162f;
                    }

                    bitmap.graph(w * i, 150, v, 22, 130, 0);

                    int offx = 0;

                    texts[i].Text = "" + values[i];

                    if (values[i] < 10)
                    {
                        offx = 4;
                    }

                    texts[i].Location = new System.Drawing.Point(pic.Location.X + offx + w * i, (int)(pic.Location.Y + 125 - ((float)(values[i] / max_value) * 130)));

                    if (texts[i].Location.Y > pic.Location.Y + 130 - 25)
                    {
                        texts[i].Location = new System.Drawing.Point(pic.Location.X + offx + w * i, pic.Location.Y + 130 - 25);
                    }
                }

                pic.Image = bitmap.getBitmap();
            }
        }
        public FormStatsQuantity(int[] val, int month, int year)
        {
            values = val;

            for (int i = 0; i < values.Length; i++)
            {
                createText((i + 1) + "/" + month, 4 + i * 40, 205);
            }

            for (var i = 0; i < values.Length; i++)
            {
                createText2("120", 300, 300);
            }

            InitializeComponent();

            for (int i = 0; i < texts.Count; i++)
            {
                panel1.Controls.Add(texts[i]);
                panel1.Controls.Add(texts2[i]);

                texts[i].BringToFront();
                texts2[i].BringToFront();
            }

            bitmap = new Classes.Image(pic.Width, pic.Height);

            //loading of values
            var guests = DBConn.getTotalGuests("where ingreso >= '" + year + "-" + month + "-1' and ingreso <= '" + year + "-" + month + values.Length + "'")

                         /*from g in DBConn.getGuests()
                          * where g.ingreso > DateTime.Parse("30/9/2018") && g.ingreso < DateTime.Parse("1/11/2018")
                          * select g*/;

            guests.ForEach(x => Console.WriteLine(x.ingreso.ToShortDateString()));

            for (int i = 0; i < values.Length; i++)
            {
                var s = (i + 1).ToString() + "/" + month + "/" + year;
                values[i] = guests.FindAll(x => x.ingreso.Date == DateTime.Parse(s)).Count;
            }

            //get of max value

            for (int i = 0; i < values.Length; i++)
            {
                if (values[i] > max_value)
                {
                    max_value = values[i];
                }
            }

            for (int i = 0; i < values.Length; i++)
            {
                bitmap.graph(i * 40, 200, values[i] / ((max_value == 0) ? 1 : max_value), 36, 170, 0);

                int offx = 5;
                if (values[i] < 10)
                {
                    offx = 10;
                }

                texts2[i].Location = new System.Drawing.Point(pic.Location.X + offx + 40 * i, (int)(pic.Location.Y + 175 - ((float)(values[i] / ((max_value == 0) ? 1 : max_value)) * 170)));
                texts2[i].Text     = "" + values[i];
            }

            pic.Image = bitmap.getBitmap();
        }