Changeset 1111 for Scheduling/trunk/cs


Ignore:
Timestamp:
Mar 23, 2011, 5:15:51 AM (14 years ago)
Author:
Sam Habiel
Message:

CGAppointment: Added Provider as a Member of Class. (auto property)
CGDocument: No changes
CGDocumentManager: Added UserPreferences as a member of a Class (private and property)
CGView: Changes to support printing of Routing Slip
DAppointPage: Changes to support UserPreferences member for auto printing the routing slips
DCheckIn: Extensive changes in load code (now uses LINQ instead of ADO.net). Changes to support UserPreferences member for auto printing the routing slips.
Patient: Documentation for UserFriendlyAge.
Provider: New class to represent Provider
UserPreferences: New class to represent User preferences. Does not interact with DB right now.

Location:
Scheduling/trunk/cs/bsdx0200GUISourceCode
Files:
2 added
13 edited

Legend:

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

    r1106 r1111  
    44    using System.Drawing;
    55    /// <summary>
    6     /// This class was regenerated from Calendargrid.dll using Reflector.exe
    7     /// by Sam Habiel for WorldVista. The original source code is lost.
     6    /// Data Structuer to Represent an Appointment
     7    ///
    88    /// </summary>
    99    [Serializable]
     
    305305
    306306        public Patient Patient { get; set; }
     307        public Provider Provider { get; set; }
    307308    }
    308309}
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocument.cs

    r1110 r1111  
    10541054            DataRow r = dtAppt.Rows[0];
    10551055            string sErrorID = r["ERRORID"].ToString();
    1056 
    1057 
    10581056        }
    10591057
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocumentManager.cs

    r1110 r1111  
    9494            }
    9595        }
     96
     97        /// <summary>
     98        /// More later...
     99        /// </summary>
     100        public UserPreferences UserPreferences { get; private set; }
    96101 
    97102        /// <summary>
     
    461466            }
    462467           
     468            //User Preferences Object
     469            _current.UserPreferences = new UserPreferences();
     470
    463471            //Create global dataset
    464472                        _current.m_dsGlobal = new DataSet("GlobalDataSet");
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/CGView.cs

    r1110 r1111  
    12641264
    12651265            CGAppointment a = (CGAppointment) this.Appointments.AppointmentTable[apptID];
    1266            
    1267             PrintDocument pd = new PrintDocument() { DocumentName = "Appointment Slip for Appt " + apptID };  //Autoinit for DocName
    1268             pd.PrintPage += (s, pe) =>  //son of a lambda
    1269             {
    1270                 CGDocumentManager.Current.PrintingObject.PrintAppointmentSlip(a, pe);
    1271             };
    1272            
    1273             pd.Print();
     1266
     1267            PrintAppointmentSlip(a);
    12741268        }
    12751269        //end new code
     
    19301924                private void AppointmentCheckIn()
    19311925                {
    1932                        
    19331926                        int nApptID = this.calendarGrid1.SelectedAppointment;
    19341927                        Debug.Assert(nApptID != 0);
     
    19501943                                        return;
    19511944                                }
    1952                                 //Find the default provider for the resource & load into combo box
    1953                                 DataView rv = new DataView(this.m_DocManager.GlobalDataSet.Tables["Resources"]);
    1954                                 rv.Sort="RESOURCE_NAME ASC";
    1955                                 int nFind = rv.Find((string) a.Resource);
    1956                                 DataRowView drv = rv[nFind];
    1957                                
    1958                                 string sHospLoc = drv["HOSPITAL_LOCATION_ID"].ToString();
    1959                                 sHospLoc = (sHospLoc == "")?"0":sHospLoc;
    1960                                 int nHospLoc = 0;
    1961                                 try
    1962                                 {
    1963                                         nHospLoc = Convert.ToInt32(sHospLoc);
    1964                                 }
    1965                                 catch(Exception ex)
    1966                                 {
    1967                                         Debug.Write("CGView.AppointmentCheckIn Error: " + ex.Message);
    1968                                 }
    1969                                
    1970                                 string sProv = "";
    1971 
    1972                                 if (nHospLoc > 0)
    1973                                 {
    1974                                         DataRow dr = drv.Row;
    1975                                         DataRow drHL = dr.GetParentRow(m_DocManager.GlobalDataSet.Relations["HospitalLocationResource"]);
    1976                                         sProv = drHL["DEFAULT_PROVIDER"].ToString();
    1977                                 }
    19781945
    19791946                                DCheckIn dlgCheckin = new DCheckIn();
    1980                                 dlgCheckin.InitializePage(a, this.m_DocManager, sProv, nHospLoc);
     1947                                dlgCheckin.InitializePage(a);
    19811948                                calendarGrid1.CGToolTip.Active = false;
    19821949                                if (dlgCheckin.ShowDialog(this) != DialogResult.OK)
     
    19921959                                DateTime dtCheckIn = dlgCheckin.CheckInTime;
    19931960
    1994                                 //Save to Database
     1961                //Tell appointment that it is checked in, for proper coloring;
     1962                //When you refresh from the DB, it will have this property.
     1963                a.CheckInTime = DateTime.Now;
     1964               
     1965                //Save to Database
    19951966                this.Document.CheckInAppointment(nApptID, dtCheckIn);
    19961967
    1997                 //Tell appointment that it is checked in
    1998                 a.CheckInTime = DateTime.Now;
    1999 
    2000                 //smh new code
     1968                //Get Provider (XXXXXXXX: NOT SAVED TO THE DATABASE RIGHT NOW)
     1969                a.Provider = dlgCheckin.Provider;
     1970
     1971                // Print Routing Slip if user checks that box...
    20011972                if (dlgCheckin.PrintRouteSlip)
    2002                  //   this.printRoutingSlip.Print();
    2003                 // end new code
     1973                    this.PrintRoutingSlip(a);
    20041974
    20051975                //redraw grid
     
    22182188                                this.Document.CreateAppointment(appt);
    22192189
    2220                 //Experimental now.
     2190               
    22212191                if (dAppt.PrintAppointmentSlip)
    22222192                {
    2223                     System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
    2224                     pd.PrintPage += (object s, System.Drawing.Printing.PrintPageEventArgs e) => CGDocumentManager.Current.PrintingObject.PrintAppointmentSlip(appt, e);
    2225                     pd.Print();
     2193                    PrintAppointmentSlip(appt);
    22262194                }
    22272195
     
    32473215        }
    32483216
    3249         private void printRoutingSlip_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
     3217        private void PrintRoutingSlip(CGAppointment appt)
    32503218        {
    3251             int nApptID = this.calendarGrid1.SelectedAppointment;
    3252             CGAppointment a = (CGAppointment)this.Appointments.AppointmentTable[nApptID];
    3253             CGDocumentManager.Current.PrintingObject.PrintRoutingSlip(a, "Routing Slip", e);
     3219            PrintDocument pd = new PrintDocument() { DocumentName = "Routing Slip for Appt " + appt.AppointmentKey };
     3220            pd.PrintPage += (object s, System.Drawing.Printing.PrintPageEventArgs e) => CGDocumentManager.Current.PrintingObject.PrintRoutingSlip(appt, "Routing Slip", e);
     3221            pd.Print();
     3222        }
     3223
     3224        private void PrintAppointmentSlip(CGAppointment appt)
     3225        {
     3226            PrintDocument pd = new PrintDocument() { DocumentName = "Appointment Slip for Appt " + appt.AppointmentKey };  //Autoinit for DocName
     3227            pd.PrintPage += (object s, System.Drawing.Printing.PrintPageEventArgs e) => CGDocumentManager.Current.PrintingObject.PrintAppointmentSlip(appt, e);
     3228            pd.Print();
    32543229        }
    32553230
     
    33113286        #endregion events
    33123287
     3288        /// <summary>
     3289        /// Refresh grid if needed.
     3290        /// </summary>
    33133291        void RequestRefreshGrid()
    33143292        {
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj

    r1110 r1111  
    140140  </ItemGroup>
    141141  <ItemGroup>
     142    <Compile Include="Provider.cs" />
     143    <Compile Include="UserPreferences.cs" />
    142144    <None Include="app.config" />
    143145    <None Include="dsPatientApptDisplay2.xsc">
     
    201203      <SubType>Form</SubType>
    202204    </Compile>
    203     <Compile Include="CustomPrinting.cs" />
     205    <Compile Include="Printing.cs" />
    204206    <Compile Include="DAccessBlock.cs">
    205207      <SubType>Form</SubType>
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj.user

    r1097 r1111  
    3737    </RemoteDebugMachine>
    3838    <StartAction>Project</StartAction>
    39     <StartArguments>/s=172.16.16.108 /p=9250 /a=s.habiel /v=catdog.66</StartArguments>
     39    <StartArguments>/s=172.16.16.108 /p=9250 /a=BASMA.ALDWAIRI /v=SELEN.123</StartArguments>
    4040    <StartPage>
    4141    </StartPage>
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.cs

    r1110 r1111  
    9494            this.label3 = new System.Windows.Forms.Label();
    9595            this.groupBox1 = new System.Windows.Forms.GroupBox();
     96            this.txtSex = new System.Windows.Forms.TextBox();
     97            this.label18 = new System.Windows.Forms.Label();
    9698            this.label14 = new System.Windows.Forms.Label();
    9799            this.txtHRN = new System.Windows.Forms.TextBox();
     
    129131            this.dsPatientApptDisplay2BindingSource = new System.Windows.Forms.BindingSource(this.components);
    130132            this.dsPatientApptDisplay2 = new IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2();
    131             this.label18 = new System.Windows.Forms.Label();
    132             this.txtSex = new System.Windows.Forms.TextBox();
    133133            this.tabControl1.SuspendLayout();
    134134            this.tabAppointment.SuspendLayout();
     
    280280            this.groupBox1.TabStop = false;
    281281            this.groupBox1.Text = "Patient ID";
     282            //
     283            // txtSex
     284            //
     285            this.txtSex.BackColor = System.Drawing.SystemColors.Control;
     286            this.txtSex.Location = new System.Drawing.Point(273, 41);
     287            this.txtSex.Name = "txtSex";
     288            this.txtSex.ReadOnly = true;
     289            this.txtSex.Size = new System.Drawing.Size(160, 20);
     290            this.txtSex.TabIndex = 15;
     291            //
     292            // label18
     293            //
     294            this.label18.AutoSize = true;
     295            this.label18.Location = new System.Drawing.Point(238, 44);
     296            this.label18.Name = "label18";
     297            this.label18.Size = new System.Drawing.Size(29, 13);
     298            this.label18.TabIndex = 14;
     299            this.label18.Text = "Sex:";
    282300            //
    283301            // label14
     
    558576            this.chkPrint.Text = "Print Appointment Letter";
    559577            this.chkPrint.UseVisualStyleBackColor = true;
     578            this.chkPrint.CheckedChanged += new System.EventHandler(this.chkPrint_CheckedChanged);
    560579            //
    561580            // cmdCancel
     
    592611            this.dsPatientApptDisplay2.DataSetName = "dsPatientApptDisplay2";
    593612            this.dsPatientApptDisplay2.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
    594             //
    595             // label18
    596             //
    597             this.label18.AutoSize = true;
    598             this.label18.Location = new System.Drawing.Point(238, 44);
    599             this.label18.Name = "label18";
    600             this.label18.Size = new System.Drawing.Size(29, 13);
    601             this.label18.TabIndex = 14;
    602             this.label18.Text = "Sex:";
    603             //
    604             // txtSex
    605             //
    606             this.txtSex.BackColor = System.Drawing.SystemColors.Control;
    607             this.txtSex.Location = new System.Drawing.Point(273, 41);
    608             this.txtSex.Name = "txtSex";
    609             this.txtSex.ReadOnly = true;
    610             this.txtSex.Size = new System.Drawing.Size(160, 20);
    611             this.txtSex.TabIndex = 15;
    612613            //
    613614            // DAppointPage
     
    717718                UC.Dock = DockStyle.Fill;
    718719                groupBox4.Controls.Add(UC);
     720
     721                chkPrint.Checked = CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially;
    719722            }
    720723                        catch(Exception e)
     
    858861                #endregion //Properties
    859862
     863        /// <summary>
     864        /// Save Print Slip preference in UserPreferences object. For now, it always starts false since
     865        /// it isn't saved in the DB; but that will change in the future.
     866        /// </summary>
     867        /// <param name="sender"></param>
     868        /// <param name="e"></param>
     869        private void chkPrint_CheckedChanged(object sender, EventArgs e)
     870        {
     871            CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially = chkPrint.Checked;
     872        }
     873
    860874
    861875        } //end Class
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.resx

    r1110 r1111  
    124124    <value>179, 17</value>
    125125  </metadata>
    126   <metadata name="dsPatientApptDisplay2BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    127     <value>179, 17</value>
    128   </metadata>
    129   <metadata name="dsPatientApptDisplay2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    130     <value>17, 17</value>
    131   </metadata>
    132126  <metadata name="dsPatientApptDisplay2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    133127    <value>17, 17</value>
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.cs

    r1062 r1111  
    77using System.Diagnostics;
    88using IndianHealthService.BMXNet;
     9using System.Collections.Generic;
     10using System.Linq;
    911
    1012namespace IndianHealthService.ClinicalScheduling
     
    2325            //
    2426            InitializeComponent();
    25 
    26             //
    27             // TODO: Add any constructor code after InitializeComponent call
    28             //
    2927        }
    3028
     
    5957        private DataView m_dvClinic;
    6058        private DataView m_dvForm;
    61         private bool m_bInit;
    6259        public bool m_bPrintRouteSlip;
     60        private List<Provider> _providers;
    6361        private ToolTip toolTip1;
    6462       
     
    6866
    6967        /// <summary>
    70         /// Returns string representation of internal entry number of Provider in PROVIDER File
    71         /// </summary>
    72         public string ProviderIEN
     68        /// Returns Provider chosen for Check-In
     69        /// </summary>
     70        public Provider Provider
    7371        {
    7472            get
    7573            {
    76                 return this.m_sProviderIEN;
     74                if (cboProvider.SelectedIndex < 1) return null; // because first item is empty placeholder
     75                else return this._providers[cboProvider.SelectedIndex];
    7776            }
    7877        }
     
    113112        /// <param name="a">Appointment</param>
    114113        /// <param name="docManager">Document Manager</param>
    115         /// <param name="sDefaultProvider">Default provider</param>
    116         public void InitializePage(CGAppointment a, CGDocumentManager docManager,
    117             string sDefaultProvider, int nHospLoc)
    118         {
    119             m_bInit = true;
    120             m_DocManager = docManager;
     114        public void InitializePage(CGAppointment a)
     115        {
     116            m_DocManager = CGDocumentManager.Current;
    121117            m_dsGlobal = m_DocManager.GlobalDataSet;
    122             int nFind = 0;
     118
     119            Int32? nHospLoc = (from resource in m_dsGlobal.Tables["Resources"].AsEnumerable()
     120                           where resource.Field<string>("RESOURCE_NAME") == a.Resource
     121                           select resource.Field<Int32?>("HOSPITAL_LOCATION_ID"))
     122                           .SingleOrDefault();
     123
     124            //smh - following logic replaced with above...
     125            /*
     126            DataView rv = new DataView(this.m_DocManager.GlobalDataSet.Tables["Resources"]);
     127            rv.Sort = "RESOURCE_NAME ASC";
     128            int nFind = rv.Find((string)a.Resource);
     129            DataRowView drv = rv[nFind];
     130
     131            string sHospLoc = drv["HOSPITAL_LOCATION_ID"].ToString();
     132            sHospLoc = (sHospLoc == "") ? "0" : sHospLoc;
     133            int nHospLoc = 0;
     134            try
     135            {
     136                nHospLoc = Convert.ToInt32(sHospLoc);
     137            }
     138            catch (Exception ex)
     139            {
     140                Debug.Write("CGView.AppointmentCheckIn Error: " + ex.Message);
     141            }
     142            */
    123143
    124144            //smh new code
    125145            //if the resource is linked to a valid hospital location, grab this locations providers
    126146            //from the provider multiple and put them in the combo box.
    127             if (nHospLoc != 0)
     147            if (nHospLoc != null)
    128148            {
    129149                //RPC BSDX HOSP LOC PROVIDERS returns Table w/ Columns:
    130150                //HOSPITAL_LOCATION_ID^BMXIEN (ie Prov IEN)^NAME^DEFALUT
    131151                string sCommandText = "BSDX HOSP LOC PROVIDERS^" + nHospLoc;
    132                 m_dtProvider = docManager.RPMSDataTable(sCommandText, "ClinicProviders");
    133                 m_dtProvider.DefaultView.Sort = "NAME ASC";
    134 
    135                 cboProvider.DataSource = m_dtProvider;
    136                 cboProvider.DisplayMember = "NAME";
    137                 cboProvider.ValueMember = "BMXIEN";
    138 
    139                 //Add None to the top of the list
    140                 DataRow drProv = m_dtProvider.NewRow();
    141                 drProv.BeginEdit();
    142                 drProv["HOSPITAL_LOCATION_ID"] = 0;
    143                 drProv["NAME"] = "<None>";
    144                 drProv["BMXIEN"] = 0;
    145                 drProv.EndEdit();
    146                 m_dtProvider.Rows.InsertAt(drProv, 0);
    147                 cboProvider.SelectedIndex = 0;
     152                m_dtProvider = m_DocManager.RPMSDataTable(sCommandText, "ClinicProviders");
     153               
     154                _providers = (from providerRow in m_dtProvider.AsEnumerable()
     155                              orderby providerRow.Field<string>("NAME")
     156                             select new Provider
     157                             {
     158                                 IEN = providerRow.Field<int>("BMXIEN"),
     159                                 Name = providerRow.Field<string>("NAME"),
     160                                 Default = providerRow.Field<string>("DEFAULT") == "YES" ? true : false
     161                             }).ToList();
     162
     163
     164
     165                //cboProvider.DisplayMember = "NAME";
     166                //cboProvider.ValueMember = "BMXIEN";
     167                _providers.Insert(0, new Provider { Name = "<None>", IEN = -1 });
     168                cboProvider.DataSource = _providers;
     169                cboProvider.SelectedIndex = _providers.FindIndex(prov => prov.Default);
     170                // if no provider is default, set default to be <none> item.
     171                if (cboProvider.SelectedIndex == -1) cboProvider.SelectedIndex = 0;
     172                ////Add None to the top of the list
     173                //DataRow drProv = m_dtProvider.NewRow();
     174                //drProv.BeginEdit();
     175                //drProv["HOSPITAL_LOCATION_ID"] = 0;
     176                //drProv["NAME"] = "<None>";
     177                //drProv["BMXIEN"] = 0;
     178                //drProv.EndEdit();
     179                //m_dtProvider.Rows.InsertAt(drProv, 0);
     180                ////cboProvider.SelectedIndex = 0;
    148181
    149182                //Find default provider--search for Yes in Field DEFAULT           
    150                 DataRow[] nRow = m_dtProvider.Select("DEFAULT='YES'", "NAME ASC");
    151                 if (nRow.Length > 0) nFind = m_dtProvider.Rows.IndexOf(nRow[0]);
    152                 cboProvider.SelectedIndex = nFind;
     183                //DataRow[] nRow = m_dtProvider.Select("DEFAULT='YES'", "NAME ASC");
     184                //if (nRow.Length > 0) nFind = m_dtProvider.Rows.IndexOf(nRow[0]);
     185               
    153186
    154187            }
     
    156189            else
    157190            {
    158                 m_dtProvider = m_dsGlobal.Tables["Provider"];
    159                 m_dtProvider.DefaultView.Sort = "NAME ASC";
    160 
    161                 cboProvider.DataSource = m_dtProvider;
    162                 cboProvider.DisplayMember = "NAME";
    163                 cboProvider.ValueMember = "BMXIEN";
     191
     192                _providers = (from providerRow in m_dsGlobal.Tables["Provider"].AsEnumerable()
     193                              orderby providerRow.Field<string>("NAME")
     194                              select new Provider
     195                              {
     196                                  IEN = providerRow.Field<int>("BMXIEN"),
     197                                  Name = providerRow.Field<string>("NAME"),
     198                                  Default = false
     199                              }).ToList();
     200
     201               
     202                /*m_dtProvider = m_dsGlobal.Tables["Provider"];
     203                m_dtProvider.DefaultView.Sort = "NAME ASC";*/
     204                _providers.Insert(0, new Provider { Name = "<None>", IEN = -1 });
     205                cboProvider.DataSource = _providers;
     206                cboProvider.SelectedIndex = 0;
     207                //cboProvider.DisplayMember = "NAME";
     208                //cboProvider.ValueMember = "BMXIEN";
    164209
    165210                //Add None to the top of the list
    166                 DataRow drProv = m_dtProvider.NewRow();
    167                 drProv.BeginEdit();
    168                 drProv["NAME"] = "<None>";
    169                 drProv["BMXIEN"] = 0;
    170                 drProv.EndEdit();
    171                 m_dtProvider.Rows.InsertAt(drProv, 0);
    172                 cboProvider.SelectedIndex = 0;
    173             }
    174 
     211                //DataRow drProv = m_dtProvider.NewRow();
     212                //drProv.BeginEdit();
     213                //drProv["NAME"] = "<None>";
     214                //drProv["BMXIEN"] = 0;
     215                //drProv.EndEdit();
     216                //m_dtProvider.Rows.InsertAt(drProv, 0);
     217                //cboProvider.SelectedIndex = 0;
     218            }
     219
     220                           
    175221
    176222            m_sPatientName = a.PatientName;
     
    187233            }
    188234
     235            //Print Routing Slip based on user preferences.
     236            chkRoutingSlip.Checked = CGDocumentManager.Current.UserPreferences.PrintRoutingSlipAutomatically;
     237
    189238            UpdateDialogData(true);
    190             m_bInit = false;
    191239        }
    192240
     
    363411            // cboProvider
    364412            //
     413            this.cboProvider.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    365414            this.cboProvider.Location = new System.Drawing.Point(96, 88);
    366415            this.cboProvider.Name = "cboProvider";
     
    384433            this.chkRoutingSlip.Text = "Print Routing Slip";
    385434            this.toolTip1.SetToolTip(this.chkRoutingSlip, "Prints routing slip to the Windows Default Printer");
     435            this.chkRoutingSlip.CheckedChanged += new System.EventHandler(this.chkRoutingSlip_CheckedChanged);
    386436            //
    387437            // DCheckIn
     
    418468        }
    419469
     470        /// <summary>
     471        /// Save this in User Preferences Object.
     472        /// </summary>
     473        /// <param name="sender"></param>
     474        /// <param name="e"></param>
     475        private void chkRoutingSlip_CheckedChanged(object sender, EventArgs e)
     476        {
     477            CGDocumentManager.Current.UserPreferences.PrintRoutingSlipAutomatically = chkRoutingSlip.Checked;
     478        }
     479
    420480        #endregion Events
     481
    421482    }
    422483}
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.resx

    r1062 r1111  
    113113  </resheader>
    114114  <resheader name="reader">
    115     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
     115    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    116116  </resheader>
    117117  <resheader name="writer">
    118     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
     118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    119119  </resheader>
    120   <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     120  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    121121    <value>17, 17</value>
    122122  </metadata>
  • Scheduling/trunk/cs/bsdx0200GUISourceCode/Patient.cs

    r1110 r1111  
    4444        }
    4545
     46        /// <summary>
     47        /// Returns User Friendly Age. If Age < 5, then Years and Months
     48        /// If Age > 5, then only Years.
     49        /// Humans tend to round down their ages. So I follow the same rule here.
     50        /// </summary>
    4651        public string UserFriendlyAge
    4752        {
Note: See TracChangeset for help on using the changeset viewer.