Changeset 789 for Scheduling/trunk/cs


Ignore:
Timestamp:
Jun 6, 2010, 8:59:53 PM (14 years ago)
Author:
Sam Habiel
Message:

Provided framework for Rebook letters; but they don't work.
Added the appointment dates to the printed letters.
Made more shortcuts on the main menu.
Changed version to 1.1, to be more congruous with the state of the software.

Location:
Scheduling/trunk/cs/bsdx0200GUISourceCode
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/AssemblyInfo.cs

    r788 r789  
    11using System.Reflection;
    22using System.Runtime.CompilerServices;
     3using System.Runtime.InteropServices;
    34
    45//
     
    78// associated with an assembly.
    89//
    9 [assembly: AssemblyTitle("ClinicalScheduling")]
    10 [assembly: AssemblyDescription("Windows Scheduling Application")]
     10[assembly: AssemblyTitle("Clinical Scheduling")]
     11[assembly: AssemblyDescription("Windows Scheduling Application for VistA")]
    1112[assembly: AssemblyConfiguration("")]
    1213[assembly: AssemblyCompany("WorldVistA")]
     
    2728// by using the '*' as shown below:
    2829
    29 [assembly: AssemblyVersion("2.2.*")]
     30[assembly: AssemblyVersion("1.1.*")]
    3031
    3132//
     
    5758[assembly: AssemblyKeyFile("")]
    5859[assembly: AssemblyKeyName("")]
    59 [assembly: AssemblyFileVersionAttribute("2.2.0.0")]
     60[assembly: AssemblyFileVersionAttribute("1.1.0.0")]
     61[assembly: ComVisibleAttribute(false)]
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/CGView.cs

    r788 r789  
    266266            this.lblResource = new System.Windows.Forms.Label();
    267267            this.panelCenter = new System.Windows.Forms.Panel();
    268             this.calendarGrid1 = new IndianHealthService.ClinicalScheduling.CalendarGrid();
    269268            this.ctxCalendarGrid = new System.Windows.Forms.ContextMenu();
    270269            this.ctxCalGridAdd = new System.Windows.Forms.MenuItem();
     
    281280            this.splitter1 = new System.Windows.Forms.Splitter();
    282281            this.splitter2 = new System.Windows.Forms.Splitter();
     282            this.calendarGrid1 = new IndianHealthService.ClinicalScheduling.CalendarGrid();
    283283            this.panelRight.SuspendLayout();
    284284            this.panelClip.SuspendLayout();
     
    404404            //
    405405            this.mnuPrintPatientLetter.Index = 13;
     406            this.mnuPrintPatientLetter.Shortcut = System.Windows.Forms.Shortcut.CtrlL;
    406407            this.mnuPrintPatientLetter.Text = "Print Patient Le&tter";
    407408            this.mnuPrintPatientLetter.Click += new System.EventHandler(this.mnuPrintPatientLetter_Click);
     
    415416            //
    416417            this.mnuClose.Index = 15;
     418            this.mnuClose.Shortcut = System.Windows.Forms.Shortcut.CtrlW;
    417419            this.mnuClose.Text = "&Close Schedule";
    418420            this.mnuClose.Click += new System.EventHandler(this.mnuClose_Click);
     
    633635            this.tvSchedules.Location = new System.Drawing.Point(0, 0);
    634636            this.tvSchedules.Name = "tvSchedules";
    635             this.tvSchedules.Size = new System.Drawing.Size(128, 473);
     637            this.tvSchedules.Size = new System.Drawing.Size(128, 410);
    636638            this.tvSchedules.Sorted = true;
    637639            this.tvSchedules.TabIndex = 1;
     
    681683            this.panelRight.Location = new System.Drawing.Point(676, 0);
    682684            this.panelRight.Name = "panelRight";
    683             this.panelRight.Size = new System.Drawing.Size(128, 473);
     685            this.panelRight.Size = new System.Drawing.Size(128, 410);
    684686            this.panelRight.TabIndex = 3;
    685687            this.panelRight.Visible = false;
     
    777779            this.panelCenter.Location = new System.Drawing.Point(136, 24);
    778780            this.panelCenter.Name = "panelCenter";
    779             this.panelCenter.Size = new System.Drawing.Size(537, 425);
     781            this.panelCenter.Size = new System.Drawing.Size(537, 362);
    780782            this.panelCenter.TabIndex = 7;
     783            //
     784            // ctxCalendarGrid
     785            //
     786            this.ctxCalendarGrid.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
     787            this.ctxCalGridAdd,
     788            this.ctxCalGridEdit,
     789            this.ctxCalGridDelete,
     790            this.ctxCalGridCheckIn,
     791            this.menuItem2,
     792            this.ctxCalGridNoShow,
     793            this.ctxCalGridNoShowUndo,
     794            this.menuItem9,
     795            this.ctxCalGridWalkin});
     796            this.ctxCalendarGrid.Popup += new System.EventHandler(this.ctxCalendarGrid_Popup);
     797            //
     798            // ctxCalGridAdd
     799            //
     800            this.ctxCalGridAdd.Index = 0;
     801            this.ctxCalGridAdd.Text = "Add Appointment";
     802            this.ctxCalGridAdd.Click += new System.EventHandler(this.ctxCalGridAdd_Click);
     803            //
     804            // ctxCalGridEdit
     805            //
     806            this.ctxCalGridEdit.Index = 1;
     807            this.ctxCalGridEdit.Text = "Edit Appointment";
     808            this.ctxCalGridEdit.Click += new System.EventHandler(this.ctxCalGridEdit_Click);
     809            //
     810            // ctxCalGridDelete
     811            //
     812            this.ctxCalGridDelete.Index = 2;
     813            this.ctxCalGridDelete.Text = "Cancel Appointment";
     814            this.ctxCalGridDelete.Click += new System.EventHandler(this.ctxCalGridDelete_Click);
     815            //
     816            // ctxCalGridCheckIn
     817            //
     818            this.ctxCalGridCheckIn.Index = 3;
     819            this.ctxCalGridCheckIn.Text = "Check In Patient";
     820            this.ctxCalGridCheckIn.Click += new System.EventHandler(this.ctxCalGridCheckIn_Click);
     821            //
     822            // menuItem2
     823            //
     824            this.menuItem2.Index = 4;
     825            this.menuItem2.Text = "-";
     826            //
     827            // ctxCalGridNoShow
     828            //
     829            this.ctxCalGridNoShow.Index = 5;
     830            this.ctxCalGridNoShow.Text = "Mark as No Show";
     831            this.ctxCalGridNoShow.Click += new System.EventHandler(this.ctxCalGridNoShow_Click);
     832            //
     833            // ctxCalGridNoShowUndo
     834            //
     835            this.ctxCalGridNoShowUndo.Index = 6;
     836            this.ctxCalGridNoShowUndo.Text = "Undo NoShow";
     837            this.ctxCalGridNoShowUndo.Click += new System.EventHandler(this.ctxCalGridNoShowUndo_Click);
     838            //
     839            // menuItem9
     840            //
     841            this.menuItem9.Index = 7;
     842            this.menuItem9.Text = "-";
     843            //
     844            // ctxCalGridWalkin
     845            //
     846            this.ctxCalGridWalkin.Index = 8;
     847            this.ctxCalGridWalkin.Text = "Create Wal&k-In Appointment";
     848            this.ctxCalGridWalkin.Click += new System.EventHandler(this.ctxCalGridWalkin_Click);
     849            //
     850            // panelBottom
     851            //
     852            this.panelBottom.Controls.Add(this.statusBar1);
     853            this.panelBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
     854            this.panelBottom.Location = new System.Drawing.Point(136, 386);
     855            this.panelBottom.Name = "panelBottom";
     856            this.panelBottom.Size = new System.Drawing.Size(537, 24);
     857            this.panelBottom.TabIndex = 8;
     858            //
     859            // statusBar1
     860            //
     861            this.statusBar1.Dock = System.Windows.Forms.DockStyle.Fill;
     862            this.statusBar1.Location = new System.Drawing.Point(0, 0);
     863            this.statusBar1.Name = "statusBar1";
     864            this.statusBar1.Size = new System.Drawing.Size(537, 24);
     865            this.statusBar1.SizingGrip = false;
     866            this.statusBar1.TabIndex = 0;
     867            //
     868            // splitter1
     869            //
     870            this.splitter1.Location = new System.Drawing.Point(128, 24);
     871            this.splitter1.Name = "splitter1";
     872            this.splitter1.Size = new System.Drawing.Size(8, 386);
     873            this.splitter1.TabIndex = 9;
     874            this.splitter1.TabStop = false;
     875            //
     876            // splitter2
     877            //
     878            this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
     879            this.splitter2.Location = new System.Drawing.Point(673, 24);
     880            this.splitter2.Name = "splitter2";
     881            this.splitter2.Size = new System.Drawing.Size(3, 386);
     882            this.splitter2.TabIndex = 10;
     883            this.splitter2.TabStop = false;
    781884            //
    782885            // calendarGrid1
     
    799902            this.calendarGrid1.Resources = ((System.Collections.ArrayList)(resources.GetObject("calendarGrid1.Resources")));
    800903            this.calendarGrid1.SelectedAppointment = 0;
    801             this.calendarGrid1.Size = new System.Drawing.Size(537, 425);
     904            this.calendarGrid1.Size = new System.Drawing.Size(537, 362);
    802905            this.calendarGrid1.StartDate = new System.DateTime(2003, 1, 27, 0, 0, 0, 0);
    803906            this.calendarGrid1.TabIndex = 0;
     
    808911            this.calendarGrid1.CGAppointmentAdded += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
    809912            //
    810             // ctxCalendarGrid
    811             //
    812             this.ctxCalendarGrid.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
    813             this.ctxCalGridAdd,
    814             this.ctxCalGridEdit,
    815             this.ctxCalGridDelete,
    816             this.ctxCalGridCheckIn,
    817             this.menuItem2,
    818             this.ctxCalGridNoShow,
    819             this.ctxCalGridNoShowUndo,
    820             this.menuItem9,
    821             this.ctxCalGridWalkin});
    822             this.ctxCalendarGrid.Popup += new System.EventHandler(this.ctxCalendarGrid_Popup);
    823             //
    824             // ctxCalGridAdd
    825             //
    826             this.ctxCalGridAdd.Index = 0;
    827             this.ctxCalGridAdd.Text = "Add Appointment";
    828             this.ctxCalGridAdd.Click += new System.EventHandler(this.ctxCalGridAdd_Click);
    829             //
    830             // ctxCalGridEdit
    831             //
    832             this.ctxCalGridEdit.Index = 1;
    833             this.ctxCalGridEdit.Text = "Edit Appointment";
    834             this.ctxCalGridEdit.Click += new System.EventHandler(this.ctxCalGridEdit_Click);
    835             //
    836             // ctxCalGridDelete
    837             //
    838             this.ctxCalGridDelete.Index = 2;
    839             this.ctxCalGridDelete.Text = "Cancel Appointment";
    840             this.ctxCalGridDelete.Click += new System.EventHandler(this.ctxCalGridDelete_Click);
    841             //
    842             // ctxCalGridCheckIn
    843             //
    844             this.ctxCalGridCheckIn.Index = 3;
    845             this.ctxCalGridCheckIn.Text = "Check In Patient";
    846             this.ctxCalGridCheckIn.Click += new System.EventHandler(this.ctxCalGridCheckIn_Click);
    847             //
    848             // menuItem2
    849             //
    850             this.menuItem2.Index = 4;
    851             this.menuItem2.Text = "-";
    852             //
    853             // ctxCalGridNoShow
    854             //
    855             this.ctxCalGridNoShow.Index = 5;
    856             this.ctxCalGridNoShow.Text = "Mark as No Show";
    857             this.ctxCalGridNoShow.Click += new System.EventHandler(this.ctxCalGridNoShow_Click);
    858             //
    859             // ctxCalGridNoShowUndo
    860             //
    861             this.ctxCalGridNoShowUndo.Index = 6;
    862             this.ctxCalGridNoShowUndo.Text = "Undo NoShow";
    863             this.ctxCalGridNoShowUndo.Click += new System.EventHandler(this.ctxCalGridNoShowUndo_Click);
    864             //
    865             // menuItem9
    866             //
    867             this.menuItem9.Index = 7;
    868             this.menuItem9.Text = "-";
    869             //
    870             // ctxCalGridWalkin
    871             //
    872             this.ctxCalGridWalkin.Index = 8;
    873             this.ctxCalGridWalkin.Text = "Create Wal&k-In Appointment";
    874             this.ctxCalGridWalkin.Click += new System.EventHandler(this.ctxCalGridWalkin_Click);
    875             //
    876             // panelBottom
    877             //
    878             this.panelBottom.Controls.Add(this.statusBar1);
    879             this.panelBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
    880             this.panelBottom.Location = new System.Drawing.Point(136, 449);
    881             this.panelBottom.Name = "panelBottom";
    882             this.panelBottom.Size = new System.Drawing.Size(537, 24);
    883             this.panelBottom.TabIndex = 8;
    884             //
    885             // statusBar1
    886             //
    887             this.statusBar1.Dock = System.Windows.Forms.DockStyle.Fill;
    888             this.statusBar1.Location = new System.Drawing.Point(0, 0);
    889             this.statusBar1.Name = "statusBar1";
    890             this.statusBar1.Size = new System.Drawing.Size(537, 24);
    891             this.statusBar1.SizingGrip = false;
    892             this.statusBar1.TabIndex = 0;
    893             //
    894             // splitter1
    895             //
    896             this.splitter1.Location = new System.Drawing.Point(128, 24);
    897             this.splitter1.Name = "splitter1";
    898             this.splitter1.Size = new System.Drawing.Size(8, 449);
    899             this.splitter1.TabIndex = 9;
    900             this.splitter1.TabStop = false;
    901             //
    902             // splitter2
    903             //
    904             this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
    905             this.splitter2.Location = new System.Drawing.Point(673, 24);
    906             this.splitter2.Name = "splitter2";
    907             this.splitter2.Size = new System.Drawing.Size(3, 449);
    908             this.splitter2.TabIndex = 10;
    909             this.splitter2.TabStop = false;
    910             //
    911913            // CGView
    912914            //
    913915            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    914             this.ClientSize = new System.Drawing.Size(804, 473);
     916            this.ClientSize = new System.Drawing.Size(804, 410);
    915917            this.Controls.Add(this.panelCenter);
    916918            this.Controls.Add(this.panelBottom);
     
    17841786                                                a.Add(appt.Resource);
    17851787                                }
    1786                                 //Call rebook letters RPC to get datatable
     1788
     1789                // Print rebooks
    17871790                                string sClinicList = "";
    17881791                                foreach (string sRes in a)
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/DPatientLetter.cs

    r788 r789  
    3131        dsPatientApptDisplay2 _dsApptDisplay;
    3232        private PrintDocument printCancelLetters;
     33        private PrintDocument printRebookLetters;
    3334        dsRebookAppts _dsRebookAppts;
    3435                #endregion Fields
     
    7374                }
    7475
    75                 public void InitializeFormRebookLetters(CGDocumentManager docManager,
     76        /// <summary>
     77        /// Print Rebook Letters by Date
     78        /// </summary>
     79        /// <param name="docManager">This docManger</param>
     80        /// <param name="sClinicList">Clinics for which to print</param>
     81        /// <param name="dtBegin">Beginning Date</param>
     82        /// <param name="dtEnd">End Date</param>
     83        public void InitializeFormRebookLetters(CGDocumentManager docManager,
    7684                        string sClinicList,
    7785                    DateTime dtBegin,
     
    8997
    9098                //Call RPC to get list of appt ids that have been rebooked for these clinics on these dates
    91                 string sSql1 = "BSDX REBOOK CLINIC LIST^" + sClinicList + "^" + sBegin + "^" + sEnd;
    92                 DataTable dtLetters = docManager.RPMSDataTable(sSql1, "PatientAppts");
    93                                
     99                string sSql1 = "BSDX REBOOK CLINIC LIST^" + sClinicList + "^" + sBegin + "^" + sEnd;                           
    94100                                string sSql2 = "BSDX RESOURCE LETTERS^" + sClinicList;
    95                                 DataTable dt = docManager.RPMSDataTable(sSql2, "Resources");                           
     101
     102                _dsRebookAppts = new dsRebookAppts();
     103                _dsRebookAppts.PatientAppts.Merge(docManager.RPMSDataTable(sSql1, "PatientAppts"));
     104                _dsRebookAppts.BSDXResource.Merge(docManager.RPMSDataTable(sSql2, "Resources"));
     105
    96106            }
    97107                        catch (Exception ex)
     
    99109                                throw ex;
    100110                        }
    101                 }
     111
     112            PrintPreviewControl.Document = printRebookLetters;
     113
     114                }
     115
     116        /// <summary>
     117        /// Print Rebook Letters by Date
     118        /// </summary>
     119        /// <param name="docManager">This docManger</param>
     120        /// <param name="sClinicList">Clinics for which to print</param>
     121        /// <param name="sApptIDList">List of appointments IENs in ^BSDXAPPT, delimited by |</param>
    102122        public void InitializeFormRebookLetters(CGDocumentManager docManager,
    103123            string sClinicList,
     
    111131                }
    112132
    113                 string sSql = "BSDX REBOOK LIST^" + sApptIDList;
    114                 DataTable dtLetters = docManager.RPMSDataTable(sSql, "PatientAppts");
    115 
     133                string sSql1 = "BSDX REBOOK LIST^" + sApptIDList;
    116134                string sSql2 = "BSDX RESOURCE LETTERS^" + sClinicList;
    117                 DataTable dt = docManager.RPMSDataTable(sSql2, "Resources");
     135
     136                _dsRebookAppts = new dsRebookAppts();
     137                _dsRebookAppts.PatientAppts.Merge(docManager.RPMSDataTable(sSql1, "PatientAppts"));
     138                _dsRebookAppts.BSDXResource.Merge(docManager.RPMSDataTable(sSql2, "Resources"));
     139
    118140
    119141            }
     
    122144                throw ex;
    123145            }
     146
     147            PrintPreviewControl.Document = printRebookLetters;
    124148        }
    125149
     
    203227                }
    204228
    205 
     229        /// <summary>
     230        /// Ctor
     231        /// </summary>
    206232                public DPatientLetter() : base()
    207233                {
     
    241267            this.printReminderLetters = new System.Drawing.Printing.PrintDocument();
    242268            this.printCancelLetters = new System.Drawing.Printing.PrintDocument();
     269            this.printRebookLetters = new System.Drawing.Printing.PrintDocument();
    243270            this.SuspendLayout();
    244271            //
     
    254281            //
    255282            this.printCancelLetters.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printCancelLetters_PrintPage);
     283            //
     284            // printRebookLetters
     285            //
     286            this.printRebookLetters.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printRebookLetters_PrintPage);
    256287            //
    257288            // DPatientLetter
     
    332363
    333364        }
     365
     366        private void printRebookLetters_PrintPage(object sender, PrintPageEventArgs e)
     367        {
     368            // no patients
     369            if (_dsRebookAppts.PatientAppts.Count == 0)
     370            {
     371                ClinicalScheduling.Printing.PrintMessage("No Appointments found", e);
     372                return;
     373            }
     374            // if there are patients
     375            else if (_currentApptPrinting < _dsRebookAppts.PatientAppts.Count)
     376            {
     377                dsRebookAppts.BSDXResourceRow c = (dsRebookAppts.BSDXResourceRow)
     378                   _dsRebookAppts.PatientAppts[_currentApptPrinting].GetParentRow(_dsRebookAppts.Relations[0]);
     379                //XXX: Rebook letter rather oddly currently stored in NO SHOW LETTER field. What gives???
     380                ClinicalScheduling.Printing.PrintRebookLetter(_dsRebookAppts.PatientAppts[_currentApptPrinting], e, c.NO_SHOW_LETTER, "Rebook Letter");
     381                _currentApptPrinting++;
     382                if (_currentApptPrinting < _dsRebookAppts.PatientAppts.Count)
     383                    e.HasMorePages = true;
     384            }
     385        }
    334386        }
    335387}
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/DPatientLetter.resx

    r788 r789  
    127127    <value>374, 17</value>
    128128  </metadata>
     129  <metadata name="printRebookLetters.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     130    <value>515, 17</value>
     131  </metadata>
    129132</root>
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/Printing.cs

    r788 r789  
    148148            printArea.Y += 15;
    149149            printArea.Height -= 15;
    150            
     150
     151            // write appointment date
     152            string str = "Appointment Date: " + ptRow.ApptDate + "\n\n";
     153            g.DrawString(str, fBody, Brushes.Black, printArea);
     154
     155            // move down
     156            int strHeight = (int)g.MeasureString(str, fBody, printArea.Width).Height;
     157            printArea.Y += strHeight;
     158            printArea.Height -= strHeight;
     159
    151160            // write missive
    152161            g.DrawString(letter, fBody, Brushes.Black, printArea);
     
    165174
    166175        /// <summary>
    167         /// Print Letter to be given or mailed to the patient
    168         /// </summary>
    169         /// <param name="ptrow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
     176        /// Cancellation Letter to be given or mailed to the patient
     177        /// </summary>
     178        /// <param name="ptRow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
    170179        /// <param name="e">You know what that is</param>
    171180        /// <param name="letter">Contains letter string</param>
     
    190199            printArea.Y += 15;
    191200            printArea.Height -= 15;
     201
     202            // write appointment date
     203            string str = "Appointment Date: " + ptRow.OldApptDate + "\n\n";
     204            g.DrawString(str, fBody, Brushes.Black, printArea);
     205
     206            // move down
     207            int strHeight = (int)g.MeasureString(str, fBody, printArea.Width).Height;
     208            printArea.Y += strHeight;
     209            printArea.Height -= strHeight;
    192210
    193211            // write missive
     
    206224        }
    207225
     226        /// <summary>
     227        /// Print rebook letters. Prints old and new appointments dates then the missive.
     228        /// </summary>
     229        /// <param name="ptRow">Strongly typed appointment row</param>
     230        /// <param name="e">etc</param>
     231        /// <param name="letter">Text of the letter to print</param>
     232        /// <param name="title">Title to print at the top of the letter</param>
     233        public static void PrintRebookLetter(dsRebookAppts.PatientApptsRow ptRow, PrintPageEventArgs e, string letter, string title)
     234        {
     235            Rectangle printArea = e.MarginBounds;
     236            Graphics g = e.Graphics;
     237            StringFormat sf = new StringFormat();
     238            sf.Alignment = StringAlignment.Center; //for title
     239            Font fTitle = new Font(FontFamily.GenericSerif, 24, FontStyle.Bold); //for title
     240            Font fBody = new Font(FontFamily.GenericSerif, 12);
     241            g.DrawString(title, fTitle, Brushes.Black, printArea, sf); //title
     242
     243            // move down
     244            int titleHeight = (int)g.MeasureString(title, fTitle, printArea.Width).Height;
     245            printArea.Y += titleHeight;
     246            printArea.Height -= titleHeight;
     247
     248            // draw underline
     249            g.DrawLine(Pens.Black, printArea.Location, new Point(printArea.Right, printArea.Y));
     250            printArea.Y += 15;
     251            printArea.Height -= 15;
     252
     253            // write old and new appointment dates
     254            string str = "Old Appointment Date:\t\t" + ptRow.OldApptDate + "\n";
     255            str += "New Appointment Date:\t\t" + ptRow.NewApptDate + "\n\n";
     256            g.DrawString(str, fBody, Brushes.Black, printArea);
     257
     258            // move down
     259            int strHeight = (int)g.MeasureString(str, fBody, printArea.Width).Height;
     260            printArea.Y += strHeight;
     261            printArea.Height -= strHeight;
     262
     263            // write missive
     264            g.DrawString(letter, fBody, Brushes.Black, printArea);
     265
     266            //print Address in lower left corner for windowed envolopes
     267            printArea.Location = new Point(e.MarginBounds.X, (int)(e.PageBounds.Height * 0.66));
     268            printArea.Height = (int)(e.MarginBounds.Height * 0.20);
     269            sf.Alignment = StringAlignment.Near;
     270            sf.LineAlignment = StringAlignment.Center;
     271            StringBuilder address = new StringBuilder(100);
     272            address.AppendLine(ptRow.Name);
     273            address.AppendLine(ptRow.STREET);
     274            address.AppendLine(ptRow.CITY + ", " + ptRow.STATE + " " + ptRow.ZIP);
     275            g.DrawString(address.ToString(), fBody, Brushes.Black, printArea, sf);
     276
     277        }
     278
     279        /// <summary>
     280        /// Print message on a page; typically that there are no appointments to be found.
     281        /// </summary>
     282        /// <param name="msg">The exact string to print.</param>
     283        /// <param name="e">Print Page event args</param>
    208284        public static void PrintMessage(string msg, PrintPageEventArgs e)
    209285        {
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/bin/Release/ClinicalScheduling.XML

    r772 r789  
    168168            </summary>
    169169        </member>
     170        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormClinicSchedule(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
     171            <summary>
     172            Print Clinic Schedules
     173            </summary>
     174            <param name="docManager">This docManger</param>
     175            <param name="sClinicList">Clinics for which to print</param>
     176            <param name="dtBegin">Beginning Date</param>
     177            <param name="dtEnd">End Date</param>
     178        </member>
     179        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormRebookLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
     180            <summary>
     181            Print Rebook Letters by Date
     182            </summary>
     183            <param name="docManager">This docManger</param>
     184            <param name="sClinicList">Clinics for which to print</param>
     185            <param name="dtBegin">Beginning Date</param>
     186            <param name="dtEnd">End Date</param>
     187        </member>
     188        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormRebookLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.String)">
     189            <summary>
     190            Print Rebook Letters by Date
     191            </summary>
     192            <param name="docManager">This docManger</param>
     193            <param name="sClinicList">Clinics for which to print</param>
     194            <param name="sApptIDList">List of appointments IENs in ^BSDXAPPT, delimited by |</param>
     195        </member>
     196        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormCancellationLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
     197            <summary>
     198            Print Cancellation letters to mail to patients
     199            </summary>
     200            <param name="docManager">This Docmanager</param>
     201            <param name="sClinicList">| delemited clinic list (IEN's)</param>
     202            <param name="dtBegin">Beginning Date</param>
     203            <param name="dtEnd">Ending Date</param>
     204        </member>
     205        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormPatientReminderLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
     206            <summary>
     207            Print Reminder Letters to give or mail to patients
     208            </summary>
     209            <param name="docManager">This docManger</param>
     210            <param name="sClinicList">Clinics for which to print</param>
     211            <param name="dtBegin">Beginning Date</param>
     212            <param name="dtEnd">End Date</param>
     213        </member>
     214        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.#ctor">
     215            <summary>
     216            Ctor
     217            </summary>
     218        </member>
    170219        <member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.Dispose(System.Boolean)">
    171220            <summary>
     
    505554            </summary>
    506555        </member>
    507         <member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintAppointments(IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2,System.Drawing.Printing.PrintPageEventArgs,System.DateTime,System.DateTime,System.Int32,System.Int32@)">
    508             <summary>
    509             Print Appointments
    510             </summary>
    511             <param name="ds">Strongly Typed DataSet contains Resources and Appointments</param>
    512             <param name="e">PrintPageEventArgs from PrintDocument Print handler</param>
    513             <param name="beg">Begin Datetime to print appointments</param>
    514             <param name="end">End Datetime to print appointments</param>
    515             <remarks>beg and end have no effect on operation--they are there for documentation for user only</remarks>
     556        <!-- Badly formed XML comment ignored for member "M:IndianHealthService.ClinicalScheduling.Printing.PrintAppointments(IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2,System.Drawing.Printing.PrintPageEventArgs,System.DateTime,System.DateTime,System.Int32,System.Int32@,System.Int32)" -->
     557        <member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintReminderLetter(IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2.PatientApptsRow,System.Drawing.Printing.PrintPageEventArgs,System.String,System.String)">
     558            <summary>
     559            Print Letter to be given or mailed to the patient
     560            </summary>
     561            <param name="ptrow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
     562            <param name="e">You know what that is</param>
     563            <param name="letter">Contains letter string</param>
     564            <param name="title">Title of the letter</param>
     565        </member>
     566        <member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintCancelLetter(IndianHealthService.ClinicalScheduling.dsRebookAppts.PatientApptsRow,System.Drawing.Printing.PrintPageEventArgs,System.String,System.String)">
     567            <summary>
     568            Cancellation Letter to be given or mailed to the patient
     569            </summary>
     570            <param name="ptRow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
     571            <param name="e">You know what that is</param>
     572            <param name="letter">Contains letter string</param>
     573            <param name="title">Title of the letter</param>
     574        </member>
     575        <member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintRebookLetter(IndianHealthService.ClinicalScheduling.dsRebookAppts.PatientApptsRow,System.Drawing.Printing.PrintPageEventArgs,System.String,System.String)">
     576            <summary>
     577            Print rebook letters. Prints old and new appointments dates then the missive.
     578            </summary>
     579            <param name="ptRow">Strongly typed appointment row</param>
     580            <param name="e">etc</param>
     581            <param name="letter">Text of the letter to print</param>
     582            <param name="title">Title to print at the top of the letter</param>
     583        </member>
     584        <member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintMessage(System.String,System.Drawing.Printing.PrintPageEventArgs)">
     585            <summary>
     586            Print message on a page; typically that there are no appointments to be found.
     587            </summary>
     588            <param name="msg">The exact string to print.</param>
     589            <param name="e">Print Page event args</param>
    516590        </member>
    517591        <member name="T:IndianHealthService.ClinicalScheduling.DResourceGroupItem">
Note: See TracChangeset for help on using the changeset viewer.