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]; }
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; }