public void Parcer(OptionsParcerDataTable options) { timeSeries_.ClearTimeSeries(); Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ObjWorkbook = ObjExcel.Workbooks.Open(FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);; Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet; ObjWorkSheet = ObjWorkbook.Sheets[options.Get_number_list()]; for (int i = options.number_line_start_information; i <= options.number_line_end_information; i++) { Microsoft.Office.Interop.Excel.Range range_time = ObjWorkSheet.get_Range(options.Get_name_column_time() + i.ToString(), options.Get_name_column_time() + i.ToString()); Microsoft.Office.Interop.Excel.Range range_value = ObjWorkSheet.get_Range(options.Get_name_column_value() + i.ToString(), options.Get_name_column_value() + i.ToString()); if (range_time.Text.ToString() == "" || range_value.Text.ToString() == "") { //обнаружена пустая клетка ObjExcel.Quit(); WindowError windowError = new WindowError("В файле присутствуют пустые поля"); windowError.Show(); return; } timeSeries_.Set_flag_sequence(options.flag_simplified_date); if (options.flag_simplified_date == true) { timeSeries_.AddDimensionTime(new DateTime(int.Parse(range_time.Text), 1, 1), Double.Parse(range_value.Text)); } else { timeSeries_.AddDimensionTime(DateTime.Parse(range_time.Text), Double.Parse(range_value.Text)); } } ObjExcel.Quit(); timeSeries_.Sort(); timeSeries_.SetColor(options.Get_color()); timeSeries_.SetNameTimeSeries(options.Get_name()); timeSeries_.CalculateAvg(); timeSeries_.CalculateMax(); timeSeries_.CalculateMin(); timeSeries_.CalculateAvgSquareDeviation(); ResultParcer = true; }
private void TableView_Click(object sender, RoutedEventArgs e) { if (AllDataTimeSeries.SelectedRow == -1) { WindowError windowError = new WindowError("Данные не выбраны"); windowError.Show(); return; } TimeSeries temp = new TimeSeries(); temp.Set_flag_sequence(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].Get_flag_sequence()); temp.SetNameTimeSeries(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetNameTimeSeries()); temp.SetColor(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor()); List <Dimension> dimensions = AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetTimeSeries(); for (int i = 0; i < dimensions.Count(); i++) { temp.AddDimensionTime(dimensions[i].Time, dimensions[i].Value); } if (GivenTime.IsChecked == true) { try { if (temp.Get_flag_sequence() == true) { temp.LimitDate(new DateTime(int.Parse(StartDate.Text), 1, 1), new DateTime(int.Parse(EndDate.Text), 1, 1)); } else { temp.LimitDate(DateTime.Parse(StartDate.Text), DateTime.Parse(EndDate.Text)); } } catch { WindowError windowError = new WindowError("Некорректно задана дата"); windowError.Show(); return; } } WindowTableView window = new WindowTableView(temp.GetTimeSeries()); window.Show(); }
private void GraphicView_Click(object sender, RoutedEventArgs e) { if (CheckedNumberTimeSeries.IsChecked.GetValueOrDefault() == false) { if (AllDataTimeSeries.SelectedRow == -1) { WindowError windowError = new WindowError("Данные не выбраны"); windowError.Show(); return; } TimeSeries temp = new TimeSeries(); temp.Set_flag_sequence(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].Get_flag_sequence()); temp.SetNameTimeSeries(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetNameTimeSeries()); temp.SetColor(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetColor()); List <Dimension> dimensions = AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetTimeSeries(); for (int i = 0; i < dimensions.Count(); i++) { temp.AddDimensionTime(dimensions[i].Time, dimensions[i].Value); } if (GivenTime.IsChecked == true) { try { if (temp.Get_flag_sequence() == true) { temp.LimitDate(new DateTime(int.Parse(StartDate.Text), 1, 1), new DateTime(int.Parse(EndDate.Text), 1, 1)); } else { temp.LimitDate(DateTime.Parse(StartDate.Text), DateTime.Parse(EndDate.Text)); } } catch { WindowError windowError = new WindowError("Некорректно задана дата"); windowError.Show(); return; } } WindowGraphicView graphicView = new WindowGraphicView(temp.GetTimeSeries(), temp.GetColor()); graphicView.Show(); } else { if (NameSelectedTimeSeries.Text == "") { WindowError windowError = new WindowError("Ничего не выбрано"); windowError.Show(); return; } List <string> qqqqq = new List <string>(System.Text.RegularExpressions.Regex.Split(NameSelectedTimeSeries.Text, ",")); List <TimeSeries> timeSeries_s = new List <TimeSeries>(); for (int i = 0; i < qqqqq.Count(); i++) { for (int j = 0; j < AllDataTimeSeries.ListTimeSeries.Count(); j++) { if (qqqqq[i] == AllDataTimeSeries.ListTimeSeries[j].GetNameTimeSeries()) { TimeSeries temp = new TimeSeries(); temp.Set_flag_sequence(AllDataTimeSeries.ListTimeSeries[j].Get_flag_sequence()); temp.SetNameTimeSeries(AllDataTimeSeries.ListTimeSeries[j].GetNameTimeSeries()); temp.SetColor(AllDataTimeSeries.ListTimeSeries[j].GetColor()); List <Dimension> dimensions = AllDataTimeSeries.ListTimeSeries[j].GetTimeSeries(); for (int k = 0; k < dimensions.Count(); k++) { temp.AddDimensionTime(dimensions[k].Time, dimensions[k].Value); } timeSeries_s.Add(temp); } } } if (GivenTime.IsChecked == true) { try { for (int i = 0; i < timeSeries_s.Count; i++) { if (timeSeries_s[i].Get_flag_sequence() == true) { timeSeries_s[i].LimitDate(new DateTime(int.Parse(StartDate.Text), 1, 1), new DateTime(int.Parse(EndDate.Text), 1, 1)); } else { timeSeries_s[i].LimitDate(DateTime.Parse(StartDate.Text), DateTime.Parse(EndDate.Text)); } } } catch { WindowError windowError = new WindowError("Некорректно задана дата"); windowError.Show(); return; } } WindowGraphicView graphicView = new WindowGraphicView(timeSeries_s); graphicView.Show(); } }
private void Button_Click_Normalize(object sender, RoutedEventArgs e) { if (AllDataTimeSeries.SelectedRow == -1) { WindowError windowError = new WindowError("Данные не выбраны"); windowError.Show(); return; } if (NewTimeSeriesChecked.IsChecked == true) { if (TextBoxName.Text == "" || TextBoxColor.Text == "") { WindowError windowError = new WindowError("Присутствуют пустые поля"); windowError.Show(); return; } if (AllDataTimeSeries.CheckedUniqueNameTimeSeries(TextBoxName.Text) == false) { WindowError windowError = new WindowError("Необходимо уникальное имя для временного ряда"); windowError.Show(); return; } TimeSeries temp = new TimeSeries(); temp.Set_flag_sequence(AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].Get_flag_sequence()); temp.SetNameTimeSeries(TextBoxName.Text); temp.SetColor((Color)ColorConverter.ConvertFromString(TextBoxColor.Text)); List <Dimension> dimensions = AllDataTimeSeries.ListTimeSeries[AllDataTimeSeries.SelectedRow].GetTimeSeries(); for (int i = 0; i < dimensions.Count(); i++) { temp.AddDimensionTime(dimensions[i].Time, dimensions[i].Value); } temp.CalculateMin(); temp.CalculateMax(); temp.CalculateAvg(); temp.CalculateAvgSquareDeviation(); int temp_selected_row = AllDataTimeSeries.SelectedRow; AllDataTimeSeries.AddNewTimeSeries(temp); AllDataTimeSeries.SetSelectedRow(AllDataTimeSeries.ListTimeSeries.Count - 1); if (NormalizeOn_Avg.IsChecked == true) { AllDataTimeSeries.NormalizeOn_Avg(); } if (NormalizeOn_σ.IsChecked == true) { AllDataTimeSeries.NormalizeOn_σ(); } AllDataTimeSeries.SetSelectedRow(temp_selected_row); } else { if (NormalizeOn_Avg.IsChecked == true) { AllDataTimeSeries.NormalizeOn_Avg(); } if (NormalizeOn_σ.IsChecked == true) { AllDataTimeSeries.NormalizeOn_σ(); } } }