Пример #1
0
        private void computeData(DataGridView grid, Dictionary <string, DataGridViewRow> dataPool, string input, double servCost, double hostCost, string time)
        {
            if (_form.infoGrid.InvokeRequired)
            {
                AddRowCallback d = new AddRowCallback(computeData);
                _form.Invoke(d, new object[] { grid, dataPool, input, servCost, hostCost, time });
            }
            else
            {
                DataGridViewRow row;
                if (dataPool.ContainsKey(input))
                {
                    row = dataPool[input];
                }
                else
                {
                    row = grid.Rows[grid.Rows.Add(new object[] { input, (double)0.0, hostCost, hostCost != 0.0?time:"", (double)0.0, servCost, time, (double)0.0 })];
                    dataPool.Add(input, row);
                }
                double count    = (double)row.Cells[7].Value;
                double newCount = count + 1;

                double hostAvg         = (double)row.Cells[1].Value;
                double newHostAvg      = ((count / (newCount)) * hostAvg) + (hostCost / (newCount));
                double hostMaxCost     = (double)row.Cells[2].Value;
                string hostMaxCostTime = (string)row.Cells[3].Value;

                double servAvg         = (double)row.Cells[4].Value;
                double newServAvg      = ((count / (newCount)) * servAvg) + (servCost / (newCount));
                double servMaxCost     = (double)row.Cells[5].Value;
                string servMaxCostTime = (string)row.Cells[6].Value;

                if (hostCost > hostMaxCost)
                {
                    hostMaxCost     = hostCost;
                    hostMaxCostTime = time;
                }

                if (servCost > servMaxCost)
                {
                    servMaxCost     = servCost;
                    servMaxCostTime = time;
                }


                row.SetValues(new object[] { input, newHostAvg, hostMaxCost, hostMaxCostTime, newServAvg, servMaxCost, servMaxCostTime, newCount });
            }
        }
Пример #2
0
        private void computeData(DataGridView grid, Dictionary<string, DataGridViewRow> dataPool, string input, double servCost, double hostCost, string time)
        {
            if (_form.infoGrid.InvokeRequired)
            {
                AddRowCallback d = new AddRowCallback(computeData);
                _form.Invoke(d, new object[] { grid, dataPool, input, servCost, hostCost,time });
            }
            else
            {

                DataGridViewRow row;
                if (dataPool.ContainsKey(input))
                {
                    row = dataPool[input];
                }
                else
                {
                    row = grid.Rows[grid.Rows.Add(new object[] { input, (double)0.0, hostCost, hostCost != 0.0?time:"", (double)0.0, servCost, time, (double)0.0 })];
                    dataPool.Add(input, row);

                }
                double count = (double)row.Cells[7].Value;
                double newCount = count + 1;

                double hostAvg = (double)row.Cells[1].Value;
                double newHostAvg = ((count / (newCount)) * hostAvg) + (hostCost / (newCount));
                double hostMaxCost = (double)row.Cells[2].Value;
                string hostMaxCostTime = (string)row.Cells[3].Value;

                double servAvg = (double)row.Cells[4].Value;
                double newServAvg = ((count / (newCount)) * servAvg) + (servCost / (newCount));
                double servMaxCost = (double)row.Cells[5].Value;
                string servMaxCostTime = (string)row.Cells[6].Value;

                if (hostCost > hostMaxCost)
                {
                    hostMaxCost = hostCost;
                    hostMaxCostTime = time;
                }

                if (servCost > servMaxCost)
                {
                    servMaxCost = servCost;
                    servMaxCostTime = time;
                }

                row.SetValues(new object[] { input, newHostAvg, hostMaxCost, hostMaxCostTime, newServAvg, servMaxCost, servMaxCostTime, newCount });

            }
        }