private void OpenBtn_Click(object sender, EventArgs e) { if (FileDialog.ShowDialog() == DialogResult.OK) { /* build the XML file path */ XmlFilePath = FileDialog.FileName; try { /* create a serializer for the requirements */ XmlSerializer serializer = new XmlSerializer(typeof(root_file)); /* read the data from the xml file */ StreamReader reader = new StreamReader(XmlFilePath); /* dezerialize the data */ listOfRequirements = (root_file)serializer.Deserialize(reader); /* add the data into the table */ dataGridView1.DataSource = listOfRequirements.Requirements_Dynamic_List; /* add event for Cell value changed */ dataGridView1.CellValueChanged -= dataGridView1_CellValueChanged; dataGridView1.CellValueChanged += dataGridView1_CellValueChanged; /* color with red ToTest column if there's an error! */ for (int index = 0; index < (listOfRequirements.Requirements_Dynamic_List.Count()); index++) { if ( (listOfRequirements.Requirements_Dynamic_List[index].ToTest.ToString() != "tst") && (listOfRequirements.Requirements_Dynamic_List[index].ToTest.ToString() != "src") ) { dataGridView1.Rows[index].Cells[Column_ToTest].Style.BackColor = Color.Red; } } /**** load the settings ****/ /* create a serializer for the settings list */ XmlSerializer settings_serializer = new XmlSerializer(typeof(root_settings)); /* read the data from the xml file */ StreamReader reader_settings = new StreamReader(XmlFilePath); /* dezerialize the data */ listOfSettings = (root_settings)settings_serializer.Deserialize(reader_settings); } catch (Exception ex) { Console.WriteLine(ex); } } }
private void button2_Click(object sender, EventArgs e) { /* check the paths for null */ if (false == myFunctions.Paths(implementationFilePath, testFilePath, XmlFilePath)) { return; } /* create variable to the root of the xml file */ root_file listOfRequirements = null; /* create a serializer */ XmlSerializer serializer = new XmlSerializer(typeof(root_file)); /* read the data from the xml file */ StreamReader reader = new StreamReader(XmlFilePath); /* dezerialize the data */ listOfRequirements = (root_file)serializer.Deserialize(reader); /* SEARCH EACH REQUIREMENT_ID IN FILES. */ listOfFiles = new List <MyFile>(); string content = string.Empty; /* Clear the Grid View */ dataGridView2.Rows.Clear(); /* search in folders string */ string pattern; /* check if the requirement has been found or not in all folders FLAG */ bool requirementFound = false; for (int index = 0; index < (listOfRequirements.Requirements_Dynamic_List.Count()); index++) { /* the name of the requirement which is searched in all files */ pattern = listOfRequirements.Requirements_Dynamic_List[index].ID; MyFile mf = new MyFile(); MatchCollection matches; string selectable_path = null; /* flag to check if the requirement is not found in any file */ requirementFound = false; /* is a test requirement or a source requirement? */ selectable_path = myFunctions.getPath(implementationFilePath, testFilePath, listOfRequirements.Requirements_Dynamic_List[index].ToTest, index); if (selectable_path == null) { /* if no path is selected, exit the function */ return; } /* search in each file from the folder "selectable_path" */ foreach (string file in Directory.GetFiles(selectable_path, "*.*")) { content = File.ReadAllText(file); Regex r = new Regex(pattern, RegexOptions.IgnoreCase); matches = r.Matches(content); /* if Requirement is found. Add into the table. */ if (matches.Count > 0) { int rowId = dataGridView2.Rows.Add(); /* grab the new row */ DataGridViewRow row = dataGridView2.Rows[rowId]; /* add the data */ /* Set Req_ID and Covered cell only first time */ if (requirementFound == false) { row.Cells[0].Value = pattern; row.Cells[1].Value = "Covered"; /* TODO: merge cells!!! */ } row.Cells[2].Value = Path.GetFileName(file); /* set the color */ row.DefaultCellStyle.BackColor = Color.Green; /* mark as a found requirement */ requirementFound = true; } } /* end foreach */ /* if the requirement has not been found, add requirement_id and "notCovered" text */ if (requirementFound == false) { myFunctions.ReqNotFound_AddRow(dataGridView2, pattern); } } /* close the reader */ reader.Close(); }