| [772] | 1 | using System; | 
|---|
|  | 2 | using System.Collections.Generic; | 
|---|
|  | 3 | using System.Linq; | 
|---|
|  | 4 | using System.Text; | 
|---|
|  | 5 | using System.Drawing.Printing; | 
|---|
|  | 6 | using System.Drawing; | 
|---|
|  | 7 | using System.Data; | 
|---|
|  | 8 | using System.Drawing.Drawing2D; | 
|---|
|  | 9 |  | 
|---|
|  | 10 | namespace IndianHealthService.ClinicalScheduling | 
|---|
|  | 11 | { | 
|---|
|  | 12 | /// <summary> | 
|---|
|  | 13 | /// Class that encapsulates printing functions in Clinical Scheduling | 
|---|
|  | 14 | /// </summary> | 
|---|
|  | 15 | public static class Printing | 
|---|
|  | 16 | { | 
|---|
|  | 17 | /// <summary> | 
|---|
|  | 18 | /// Print Appointments | 
|---|
|  | 19 | /// </summary> | 
|---|
|  | 20 | /// <param name="ds">Strongly Typed DataSet contains Resources and Appointments</param> | 
|---|
|  | 21 | /// <param name="e">PrintPageEventArgs from PrintDocument Print handler</param> | 
|---|
|  | 22 | /// <param name="beg">Begin Datetime to print appointments</param> | 
|---|
|  | 23 | /// <param name="end">End Datetime to print appointments</param> | 
|---|
|  | 24 | /// <remarks>beg and end have no effect on operation--they are there for documentation for user only</remarks> | 
|---|
|  | 25 | public static void PrintAppointments(dsPatientApptDisplay2 ds, PrintPageEventArgs e, DateTime beg, DateTime end, | 
|---|
|  | 26 | int resourceToPrint, ref int apptPrinted) | 
|---|
|  | 27 | { | 
|---|
|  | 28 | Graphics g = e.Graphics; | 
|---|
|  | 29 | //g.PageUnit = GraphicsUnit.Millimeter; | 
|---|
|  | 30 | //SizeF szVCB = g.VisibleClipBounds.Size; | 
|---|
|  | 31 | //PointF[] ptszVCB = {new PointF(szVCB.Width,szVCB.Height)}; | 
|---|
|  | 32 | //g.TransformPoints(CoordinateSpace.Page, CoordinateSpace.Device, ptszVCB); | 
|---|
|  | 33 | //Create Fonts | 
|---|
|  | 34 | Font f8 = new Font(FontFamily.GenericSerif, 8); | 
|---|
|  | 35 | Font f10 = new Font(FontFamily.GenericSerif, 10); | 
|---|
|  | 36 | Font f14bold = new Font(FontFamily.GenericSerif, 14, FontStyle.Bold); | 
|---|
|  | 37 |  | 
|---|
|  | 38 | //Center Alignment for some stuff | 
|---|
|  | 39 | StringFormat sf = new StringFormat(); | 
|---|
|  | 40 | sf.Alignment = StringAlignment.Center; | 
|---|
|  | 41 |  | 
|---|
|  | 42 | g.DrawString("Confidential Patient Information", f8, Brushes.Black, e.PageBounds, sf); | 
|---|
|  | 43 |  | 
|---|
|  | 44 | //Typical manipulable print area | 
|---|
|  | 45 | Rectangle printArea = e.MarginBounds; | 
|---|
|  | 46 |  | 
|---|
|  | 47 | dsPatientApptDisplay2.BSDXResourceRow r = ds.BSDXResource[resourceToPrint]; | 
|---|
|  | 48 |  | 
|---|
|  | 49 | string toprint; | 
|---|
|  | 50 | if (beg == end) toprint = "Appointments for " + r.RESOURCE_NAME + " on " + beg.ToLongDateString(); | 
|---|
|  | 51 | else toprint = "Appointments for " + r.RESOURCE_NAME + " from " + beg.ToShortDateString() + " to " | 
|---|
|  | 52 | + end.ToShortDateString(); | 
|---|
|  | 53 | g.DrawString(toprint, f14bold, Brushes.Black, printArea); | 
|---|
|  | 54 |  | 
|---|
|  | 55 | printArea.Y += (int)f14bold.GetHeight(); | 
|---|
|  | 56 | g.DrawLine(new Pen(Brushes.Black, 0), printArea.X, printArea.Y, printArea.X + printArea.Width, printArea.Y); | 
|---|
|  | 57 | printArea.Y += 5; | 
|---|
|  | 58 |  | 
|---|
|  | 59 | System.Data.DataRow[] appts = r.GetChildRows(ds.Relations[0]); //only one relation | 
|---|
|  | 60 |  | 
|---|
|  | 61 | toprint = ""; | 
|---|
|  | 62 | StringFormat sf2 = new StringFormat(); | 
|---|
|  | 63 | sf2.SetTabStops(50, new float[] { 100, 200, 200 }); | 
|---|
|  | 64 |  | 
|---|
|  | 65 | foreach (dsPatientApptDisplay2.PatientApptsRow a in appts) | 
|---|
|  | 66 | { | 
|---|
|  | 67 | toprint += a.ApptDate.ToString() + "\t" + a.Name +"(" + a.Sex + ")" + "\t" + "DOB: " + a.DOB.ToString("dd-MMM-yyyy") + "\t" + "ID: " + a.HRN; | 
|---|
|  | 68 | toprint += "\n"; | 
|---|
|  | 69 | toprint += "Home Phone: " + a.HOMEPHONE + "\t" + "Address: " + a.STREET + ", " + a.CITY + ", " + a.STATE + " " + a.ZIP; | 
|---|
|  | 70 | toprint += "\n"; | 
|---|
|  | 71 | toprint += "Note: " + a.NOTE; | 
|---|
|  | 72 | toprint += "\n"; | 
|---|
|  | 73 | toprint += "Appointment made by " + a.APPT_MADE_BY + " on " + a.DATE_APPT_MADE; | 
|---|
|  | 74 | toprint += "\n\n"; | 
|---|
|  | 75 | } | 
|---|
|  | 76 | g.DrawString(toprint, f10, Brushes.Black, printArea, sf2); | 
|---|
|  | 77 | } | 
|---|
|  | 78 | } | 
|---|
|  | 79 | } | 
|---|