// private static bool CreateCmdMailReview(KnowledgeBase KB, List<string> cmdlines) { try { string cmdfilename = KB.UserDirectory + @"\KBDoctor_Review_Commits\reviewcommitsmail.cmd"; StreamWriter sw = new StreamWriter(cmdfilename); foreach (string line in cmdlines) { sw.WriteLine(line); } sw.Close(); } catch (Exception e) { OutputError oe = new OutputError(e.Message); KBDoctorOutput.OutputError(oe); return false; } return true; }
// private static bool CreateReviewFiles(KnowledgeBase KB, Dictionary<string, List<string[]>> review_by_user, bool success, out List<string> cmdlines) { cmdlines = new List<string>(); try { string dirname = KB.UserDirectory + @"\KBDoctor_Review_Commits"; if (!Directory.Exists(dirname)) Directory.CreateDirectory(dirname); List<string> setinilines = new List<string>(); string outputFile = dirname + @"\setini.cmd"; if (!File.Exists(outputFile)) { File.AppendAllText(outputFile, "set emailfrom=<insert email>" + Environment.NewLine); File.AppendAllText(outputFile, "set email_pass=<insert password>" + Environment.NewLine); File.AppendAllText(outputFile, "set smtp=<insert smtp>" + Environment.NewLine); File.AppendAllText(outputFile, "set port=<insert port>" + Environment.NewLine); File.AppendAllText(outputFile, "set domain=<insert domain>" + Environment.NewLine); } outputFile = dirname + @"\sender.cmd"; File.WriteAllText(outputFile, StringResources.sender); outputFile = dirname + @"\mailsend.exe"; File.WriteAllBytes(outputFile, StringResources.mailsend); cmdlines.Add("call setini.cmd"); foreach (KeyValuePair<string, List<string[]>> kvp in review_by_user) { string[] splits = kvp.Key.Split('\\'); string username = splits[1]; string filename = dirname + @"\KBDoctor_Review_Commits_" + username + ".htm"; KBDoctorXMLWriter writer = new KBDoctorXMLWriter(filename, Encoding.UTF8); writer.AddHeader("Review Commits - KBDoctor - " + username); writer.AddTableHeader(new string[] { "Object", "Problems", "Technical Debt (min)" }); cmdlines.Add("set emailto=" + username); cmdlines.Add("set attach=\"KBDoctor_Review_Commits_" + username + ".htm, i\""); cmdlines.Add("call sender.cmd"); foreach (string[] text_review in kvp.Value) { writer.AddTableData(text_review); } writer.AddFooter(); writer.Close(); } outputFile = dirname + @"\ReviewObjects.cmd"; foreach (string li in cmdlines) File.AppendAllText(outputFile, li + Environment.NewLine); } catch (Exception e) { OutputError oe = new OutputError(e.Message); KBDoctorOutput.OutputError(oe); success = false; } return success; }