Пример #1
0
 //
 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;
 }
Пример #2
0
        //
        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;
        }