示例#1
0
 public void SetData(zaitun.Data.SeriesData data,
                     zaitun.Data.SeriesVariables independentVariables)
 {
     foreach (zaitun.Data.SeriesVariable var in independentVariables)
     {
         DataGridViewTextBoxColumn clm = new DataGridViewTextBoxColumn();
         DataGridViewCellStyle     dataGridViewCellStyle1 = new DataGridViewCellStyle();
         DataGridViewCell          cell = new zaitun.GUI.ValidatedTextBoxCell();
         dataGridViewCellStyle1.NullValue = null;
         clm.DefaultCellStyle             = dataGridViewCellStyle1;
         clm.CellTemplate = cell;
         clm.HeaderText   = var.VariableName;
         clm.Name         = "clm" + var.VariableName;
         clm.SortMode     = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
         this.grdValues.Columns.Add(clm);
     }
     this.time = getForecastedTime(data);
     this.grdValues.RowCount = this.forcastingStep;
     for (int i = 0; i < this.forcastingStep; i++)
     {
         this.grdValues.Rows[i].HeaderCell.Value = time[i];
     }
     this.testValues = new double[independentVariables.Count, this.forcastingStep];
 }
示例#2
0
        private string[] getForecastedTime(zaitun.Data.SeriesData data)
        {
            string[] result = new string[this.forcastingStep];

            DateTime currentDate = new DateTime();

            switch (data.Frequency)
            {
            case zaitun.Data.SeriesData.SeriesFrequency.Annual:
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    currentDate = data.EndDate.AddYears(i + 1);
                    result[i]   = currentDate.Year.ToString();
                }
                break;

            case zaitun.Data.SeriesData.SeriesFrequency.SemiAnnual:
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    currentDate = data.EndDate.AddMonths(6 * (i + 1));
                    result[i]   = "Pertengahan " + (currentDate.Month / 2) + " " +
                                  currentDate.Year.ToString();
                }
                break;

            case zaitun.Data.SeriesData.SeriesFrequency.Quarterly:
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    currentDate = data.EndDate.AddMonths(3 * (i + 1));
                    result[i]   = "Triwulan " + (currentDate.Month / 3) + " " +
                                  currentDate.Year.ToString();
                }
                break;

            case zaitun.Data.SeriesData.SeriesFrequency.Monthly:
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    currentDate = data.EndDate.AddMonths(i + 1);
                    result[i]   = zaitun.Data.SeriesData.ConvertIntToMonth(currentDate.Month)
                                  + " " + currentDate.Year.ToString();
                }
                break;

            case zaitun.Data.SeriesData.SeriesFrequency.Weekly:
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    currentDate = data.EndDate.AddDays(7 * (i + 1));
                    result[i]   = currentDate.ToString("dd/MM/yy");
                }
                break;

            case zaitun.Data.SeriesData.SeriesFrequency.Daily:
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    currentDate = data.EndDate.AddDays(i + 1);
                    result[i]   = currentDate.ToString("dd/MM/yy");
                }
                break;

            case zaitun.Data.SeriesData.SeriesFrequency.Daily6:
            {
                int i = 0;
                currentDate = data.EndDate;
                while (i < this.forcastingStep)
                {
                    currentDate = currentDate.AddDays(1);
                    if (currentDate.DayOfWeek != DayOfWeek.Sunday)
                    {
                        result[i] = currentDate.ToString("dd/MM/yy");
                        i++;
                    }
                }
            }
            break;

            case zaitun.Data.SeriesData.SeriesFrequency.Daily5:
            {
                int i = 0;
                currentDate = data.EndDate;
                while (i < this.forcastingStep)
                {
                    currentDate = currentDate.AddDays(1);
                    if (currentDate.DayOfWeek != DayOfWeek.Sunday &&
                        currentDate.DayOfWeek != DayOfWeek.Saturday)
                    {
                        result[i] = currentDate.ToString("dd/MM/yy");
                        i++;
                    }
                }
            }
            break;

            case zaitun.Data.SeriesData.SeriesFrequency.Undated:
            {
                for (int i = 0; i < this.forcastingStep; i++)
                {
                    int current = data.NumberObservations + i + 1;
                    result[i] = current.ToString();
                }
            }
            break;
            }

            return(result);
        }