コード例 #1
0
ファイル: FormLetterMerges.cs プロジェクト: royedwards/DRDNet
        ///<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);
        }
コード例 #2
0
        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);
        }