private void PrintToFile(int[] assignments ,Boolean fromDict) { List<String> panelKey = new List<string>(); List<String> keyLines = new List<string>(); List<List<String>> data = new List<List<string>>(); List<String> indexNumbers = ph.IndexNumberVector; int cuttentTemplateNumber = 0; List<String> indexList = new List<string>(); Boolean addLine = false; for (int i = 0; i < panelSlots.Count; i++) { if (panelSlots[i].TemplateNumber == cuttentTemplateNumber) { int index; if (fromDict) { assignedData.TryGetValue(panelSlots[i], out index); } else { index = assignments[i]; } if ((index < 0) || (index >= indexNumbers.Count)) { //dataLine.Add("nill"); } else { indexList.Add(indexNumbers[index]); } } else { addLine = true; } if ((i == (panelSlots.Count - 1)) || (addLine)) { keyLines.Add(""+panelSlots[i - 1].Category); List<String> dataLine = new List<string>(); dataLine.Add(panelSlots[i - 1].GetInternalEvaluatorString()); dataLine.Add(panelSlots[i - 1].GetExternalEvaluatorString()); dataLine.AddRange(indexList); indexList = new List<string>(); //////////////////////// int index; if (fromDict) { assignedData.TryGetValue(panelSlots[i], out index); } else { index = assignments[i]; } if ((index < 0) || (index >= indexNumbers.Count)) { //dataLine.Add("nill"); } else { indexList.Add(indexNumbers[index]); } //////////////////////////////////////////// // Console.WriteLine(cuttentTemplateNumber + " " + panelSlots[i].TemplateNumber); cuttentTemplateNumber = panelSlots[i].TemplateNumber; data.Add(dataLine); addLine =false; } //String panelName = "Instance " + i; //panelKey.Add(panelName); //String line = panelName + " -> " + panelSlots[i].ToString(); //keyLines.Add(line); //List<String> dataLine = new List<string>(); //int index; //if (fromDict) //{ // assignedData.TryGetValue(panelSlots[i], out index); //} //else //{ // index = assignments[i]; //} //if ((index < 0) || (index >= indexNumbers.Count)) //{ // dataLine.Add("nill"); //} //else //{ // dataLine.Add(indexNumbers[index]); //} //data.Add(dataLine); } //Write the key FileWriter keyWriter = new FileWriter("key.txt"); keyWriter.writeLines(keyLines); //Write the matrix FileWriter valueWriter = new FileWriter("value.csv"); List<String> title = new List<string>(); title.Add("Assignment"); title.Add("Internal"); title.Add("External"); valueWriter.writeMatrix(title, keyLines, data); }