public static void LocalizeStatementsCsv( DirectoryInfo csvDir, IEnumerable <LocalizedElement> localizeStatements, Dictionary <FileInfo, Dictionary <int, int> > lindDic) // Targeting only statement { var blElementList = new List <BLElement>(); foreach (var localizeStatement in localizeStatements) { var elem = localizeStatement.Element; //Dictionaryを検索してKeyに対象ファイルが存在したらオリジナル行番号に変換 //Dicに対象ファイルが存在するかしない場合はnullを返す。 var fileInfo = lindDic.Keys.FirstOrDefault( info => info.FullName.EndsWith(elem.RelativePath)); int startLine; int endLine; var fileName = new FileInfo(elem.RelativePath).Name; var orgLineNumFlag = true; if (fileInfo != null && fileInfo.Exists) { //Dicに存在したとき var nowStartLine = elem.Position.StartLine; var nowEndLine = elem.Position.EndLine; var lineDicKey = lindDic[fileInfo]; startLine = OrgLineNum(nowStartLine, lineDicKey); endLine = OrgLineNum(nowEndLine, lineDicKey); if (startLine <= 0 || endLine <= 0) { //main用挿入コード時 orgLineNumFlag = false; } } else { startLine = elem.Position.StartLine; endLine = elem.Position.EndLine; } if (orgLineNumFlag) { var blElement = new BLElement(fileName, startLine, endLine, localizeStatement.Passed, localizeStatement.ExecutedAndPassed, localizeStatement.Failed, localizeStatement.ExecutedAndFailed); blElementList.Add(blElement); } } blElementList.Sort((ble1, ble2) => ble1.StartLine - ble2.StartLine); CsvWriter(csvDir, blElementList); }
public static void LocalizeStatementsCsv( DirectoryInfo csvDir, IEnumerable<LocalizedElement> localizeStatements, Dictionary<FileInfo, Dictionary<int, int>> lindDic) { // Targeting only statement var blElementList = new List<BLElement>(); foreach (var localizeStatement in localizeStatements) { var elem = localizeStatement.Element; //Dictionaryを検索してKeyに対象ファイルが存在したらオリジナル行番号に変換 //Dicに対象ファイルが存在するかしない場合はnullを返す。 var fileInfo = lindDic.Keys.FirstOrDefault( info => info.FullName.EndsWith(elem.RelativePath)); int startLine; int endLine; var fileName = new FileInfo(elem.RelativePath).Name; var orgLineNumFlag = true; if (fileInfo != null && fileInfo.Exists) { //Dicに存在したとき var nowStartLine = elem.Position.StartLine; var nowEndLine = elem.Position.EndLine; var lineDicKey = lindDic[fileInfo]; startLine = OrgLineNum(nowStartLine, lineDicKey); endLine = OrgLineNum(nowEndLine, lineDicKey); if (startLine <= 0 || endLine <= 0) { //main用挿入コード時 orgLineNumFlag = false; } } else { startLine = elem.Position.StartLine; endLine = elem.Position.EndLine; } if (orgLineNumFlag) { var blElement = new BLElement(fileName, startLine, endLine, localizeStatement.Passed, localizeStatement.ExecutedAndPassed, localizeStatement.Failed, localizeStatement.ExecutedAndFailed); blElementList.Add(blElement); } } blElementList.Sort((ble1, ble2) => ble1.StartLine - ble2.StartLine); CsvWriter(csvDir, blElementList); }