///<summary>Shows and error message and returns false if there is a problem creating the data file; Otherwise true.</summary> private bool CreateDataFile(string fileName, LetterMerge letter) { DataTable table; try { table = LetterMergesQueries.GetLetterMergeInfo(PatCur, letter); } catch (Exception ex) { string message = Lan.g(this, "There was a error getting letter merge info:"); MessageBox.Show(message + "\r\n" + ex.Message); return(false); } table = FormQuery.MakeReadable(table, null, false); try{ using (StreamWriter sw = new StreamWriter(fileName, false)){ string line = ""; for (int i = 0; i < letter.Fields.Count; i++) { if (letter.Fields[i].StartsWith("referral.")) { line += "Ref" + letter.Fields[i].Substring(9); } else { line += letter.Fields[i]; } if (i < letter.Fields.Count - 1) { line += "\t"; } } sw.WriteLine(line); string cell; for (int i = 0; i < table.Rows.Count; i++) { line = ""; for (int j = 0; j < table.Columns.Count; j++) { cell = table.Rows[i][j].ToString(); cell = cell.Replace("\r", ""); cell = cell.Replace("\n", ""); cell = cell.Replace("\t", ""); cell = cell.Replace("\"", ""); line += cell; if (j < table.Columns.Count - 1) { line += "\t"; } } sw.WriteLine(line); } } } catch { MsgBox.Show(this, "File in use by another program. Close and try again."); return(false); } return(true); }
private bool CreateDataFile(string fileName, LetterMerge letter) { string command = "SELECT "; for (int i = 0; i < letter.Fields.Count; i++) { if (i > 0) { command += ","; } if (((string)letter.Fields[i]).Length > 9 && ((string)letter.Fields[i]).Substring(0, 9) == "referral.") { command += "referral." + ((string)letter.Fields[i]).Substring(9); } else { command += "patient." + (string)letter.Fields[i]; } } command += " FROM patient " + "LEFT JOIN refattach ON patient.PatNum=refattach.PatNum AND refattach.IsFrom=1 " + "LEFT JOIN referral ON refattach.ReferralNum=referral.ReferralNum " + "WHERE patient.PatNum=" + POut.PInt(PatCur.PatNum) + " GROUP BY patient.PatNum " + "ORDER BY refattach.ItemOrder"; DataTable table = General.GetTable(command); table = FormQuery.MakeReadable(table); try{ using (StreamWriter sw = new StreamWriter(fileName, false)){ string line = ""; for (int i = 0; i < letter.Fields.Count; i++) { if (((string)letter.Fields[i]).Length > 9 && ((string)letter.Fields[i]).Substring(0, 9) == "referral.") { line += "Ref" + ((string)letter.Fields[i]).Substring(9); } else { line += (string)letter.Fields[i]; } if (i < letter.Fields.Count - 1) { line += "\t"; } } sw.WriteLine(line); string cell; for (int i = 0; i < table.Rows.Count; i++) { line = ""; for (int j = 0; j < table.Columns.Count; j++) { cell = table.Rows[i][j].ToString(); cell = cell.Replace("\r", ""); cell = cell.Replace("\n", ""); cell = cell.Replace("\t", ""); cell = cell.Replace("\"", ""); line += cell; if (j < table.Columns.Count - 1) { line += "\t"; } } sw.WriteLine(line); } } } catch { MsgBox.Show(this, "File in use by another program. Close and try again."); return(false); } return(true); }