//********************************************************
        //   TFD Training Individual Paramedic ALS Procedures
        //         By Employee, Begin Date thru End Date
        //********************************************************

        public void FillGrid()
        {
            PTSProject.clsTraining TrainCL = Container.Resolve <clsTraining>();
            string sSSN = "";

            ClearGrid();

            if (TrainCL.GetEmployeePMRecertInfoByID(ViewModel.CurrEmp) != 0)
            {
                //continue
            }
            else
            {
                ViewManager.ShowMessage("Oooops!  Not able to find Employee Information!", "Employee Paramedic Recert Info", UpgradeHelpers.Helpers.BoxButtons.OK);
                return;
            }

            string sReportInfo  = "";
            string sCertExpDate = "";

            if (!TrainCL.Employee.EOF)
            {
                sReportInfo = "Name: " + modGlobal.Clean(TrainCL.Employee["name_full"]) + "       ";
                sReportInfo = sReportInfo + "SS#: ";
                if (modGlobal.Clean(TrainCL.Employee["social_security_nbr"]) == "")
                {
                    sReportInfo = sReportInfo + "           ";
                }
                else
                {
                    sSSN        = modGlobal.Clean(TrainCL.Employee["social_security_nbr"]);
                    sReportInfo = sReportInfo + "*******" + sSSN.Substring(Math.Max(sSSN.Length - 4, 0));
                }
                sReportInfo = sReportInfo + "       Expiration Date: ";
                if (modGlobal.Clean(TrainCL.Employee["recert_date"]) == "")
                {
                    sReportInfo = sReportInfo + "          ";
                }
                else
                {
                    sCertExpDate = Convert.ToDateTime(TrainCL.Employee["recert_date"]).ToString("M/d/yyyy");
                    sReportInfo  = sReportInfo + sCertExpDate;
                }
                ViewModel.sprReport.Row  = 3;
                ViewModel.sprReport.Col  = 1;
                ViewModel.sprReport.Text = sReportInfo;

                //        If sCertExpDate = "" Then
                //            dtStart.Text = Format$("01/01/" & Year(Now()) - 2, "mm/dd/yyyy")
                //            dtEnd.Text = Format$(Now(), "mm/dd/yyyy")
                //        Else
                //            dtStart.Text = Format$(TrainCL.Employee("StartDate"), "mm/dd/yyyy")
                //            dtEnd.Text = DateAdd("d", -1, DateAdd("yyyy", 3, dtStart.Text))
                //        End If

                sReportInfo              = "";
                sReportInfo              = "Period Begins: " + ViewModel.dtStart.Text + "          ";
                sReportInfo              = sReportInfo + "Period Ends: " + ViewModel.dtEnd.Text;
                ViewModel.sprReport.Row  = 4;
                ViewModel.sprReport.Col  = 1;
                ViewModel.sprReport.Text = sReportInfo;
            }

            //Get ALS Procedures from IRS...
            if (TrainCL.GetEmployeeALSProceduresForPMRecert(ViewModel.CurrEmp, ViewModel.dtStart.Text, ViewModel.dtEnd.Text) != 0)
            {
                //continue
            }
            else
            {
                return;
            }

            int    ProcedureCount = 0;
            string sSubHeading    = "";
            int    CurrRow        = 7;

            while (!TrainCL.TrainingRecord.EOF)
            {
                if (sSubHeading == "")
                {                 //First Time
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Center;
                    ViewModel.sprReport.Text       = "ALS Procedures (IRS)";
                    ViewModel.sprReport.Col        = 3;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Center;
                    ViewModel.sprReport.Text       = "DateTime";
                    ViewModel.sprReport.Col        = 4;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Center;
                    ViewModel.sprReport.Text       = "Incident #";
                    ViewModel.sprReport.BlockMode  = true;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.Col2       = ViewModel.sprReport.MaxCols;
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Row2       = CurrRow;
                    ViewModel.sprReport.BackColor  = modGlobal.Shared.PARCHMENT;
                    ViewModel.sprReport.BlockMode  = false;

                    CurrRow++;
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    sSubHeading = modGlobal.Clean(TrainCL.TrainingRecord["description"]);
                    ViewModel.sprReport.Text       = sSubHeading;
                    ViewModel.sprReport.Col        = 3;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    if (modGlobal.Clean(TrainCL.TrainingRecord["date_incident_created"]) == "")
                    {
                        ViewModel.sprReport.Text = "";
                    }
                    else
                    {
                        ViewModel.sprReport.Text = Convert.ToDateTime(TrainCL.TrainingRecord["date_incident_created"]).ToString("M/d/yyyy H:mm:ss");
                    }
                    ViewModel.sprReport.Col        = 4;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    if (modGlobal.Clean(TrainCL.TrainingRecord["incident_number"]) == "")
                    {
                        ViewModel.sprReport.Text = "";
                    }
                    else
                    {
                        //UPGRADE_WARNING: (1068) GetVal() of type Variant is being forced to string. More Information: http://www.vbtonet.com/ewis/ewi1068.aspx
                        ViewModel.sprReport.Text = Convert.ToString(modGlobal.GetVal(TrainCL.TrainingRecord["incident_number"]));
                    }

                    ProcedureCount++;
                }
                else if (modGlobal.Clean(TrainCL.TrainingRecord["description"]) == sSubHeading)
                {
                    CurrRow++;
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    ViewModel.sprReport.Text       = modGlobal.Clean(TrainCL.TrainingRecord["description"]);
                    ViewModel.sprReport.Col        = 3;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    if (modGlobal.Clean(TrainCL.TrainingRecord["date_incident_created"]) == "")
                    {
                        ViewModel.sprReport.Text = "";
                    }
                    else
                    {
                        ViewModel.sprReport.Text = Convert.ToDateTime(TrainCL.TrainingRecord["date_incident_created"]).ToString("M/d/yyyy H:mm:ss");
                    }
                    ViewModel.sprReport.Col        = 4;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    if (modGlobal.Clean(TrainCL.TrainingRecord["incident_number"]) == "")
                    {
                        ViewModel.sprReport.Text = "";
                    }
                    else
                    {
                        //UPGRADE_WARNING: (1068) GetVal() of type Variant is being forced to string. More Information: http://www.vbtonet.com/ewis/ewi1068.aspx
                        ViewModel.sprReport.Text = Convert.ToString(modGlobal.GetVal(TrainCL.TrainingRecord["incident_number"]));
                    }

                    ProcedureCount++;
                }
                else
                {
                    //Add logic for subtotaling...
                    CurrRow++;
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Right;
                    ViewModel.sprReport.Text       = "Total For " + modGlobal.Clean(sSubHeading) + ": ";
                    ViewModel.sprReport.BlockMode  = true;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.Col2       = ViewModel.sprReport.MaxCols;
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Row2       = CurrRow;
                    ViewModel.sprReport.BackColor  = UpgradeHelpers.Helpers.ColorTranslator.FromOle(modGlobal.LT_BLUE);
                    ViewModel.sprReport.FontBold   = true;
                    ViewModel.sprReport.BlockMode  = false;
                    ViewModel.sprReport.Col        = 3;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Center;
                    ViewModel.sprReport.Text       = ProcedureCount.ToString();
                    ViewModel.sprReport.Col        = 4;
                    ViewModel.sprReport.Text       = "";

                    //continue
                    ProcedureCount                 = 0;
                    CurrRow                       += 2;
                    ViewModel.sprReport.Row        = CurrRow;
                    ViewModel.sprReport.Col        = 1;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    sSubHeading                    = modGlobal.Clean(TrainCL.TrainingRecord["description"]);
                    ViewModel.sprReport.Text       = sSubHeading;
                    ViewModel.sprReport.Col        = 3;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    if (modGlobal.Clean(TrainCL.TrainingRecord["date_incident_created"]) == "")
                    {
                        ViewModel.sprReport.Text = "";
                    }
                    else
                    {
                        ViewModel.sprReport.Text = Convert.ToDateTime(TrainCL.TrainingRecord["date_incident_created"]).ToString("M/d/yyyy H:mm:ss");
                    }
                    ViewModel.sprReport.Col        = 4;
                    ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Left;
                    if (modGlobal.Clean(TrainCL.TrainingRecord["incident_number"]) == "")
                    {
                        ViewModel.sprReport.Text = "";
                    }
                    else
                    {
                        //UPGRADE_WARNING: (1068) GetVal() of type Variant is being forced to string. More Information: http://www.vbtonet.com/ewis/ewi1068.aspx
                        ViewModel.sprReport.Text = Convert.ToString(modGlobal.GetVal(TrainCL.TrainingRecord["incident_number"]));
                    }

                    ProcedureCount++;
                }
                TrainCL.TrainingRecord.MoveNext();
            }
            ;
            // Now do Total Hours for LAST row...
            if (ProcedureCount > 0)
            {
                CurrRow++;
                ViewModel.sprReport.Row        = CurrRow;
                ViewModel.sprReport.Col        = 1;
                ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Right;
                ViewModel.sprReport.Text       = "Total For " + modGlobal.Clean(sSubHeading) + ": ";
                ViewModel.sprReport.BlockMode  = true;
                ViewModel.sprReport.Col        = 1;
                ViewModel.sprReport.Col2       = ViewModel.sprReport.MaxCols;
                ViewModel.sprReport.Row        = CurrRow;
                ViewModel.sprReport.Row2       = CurrRow;
                ViewModel.sprReport.BackColor  = UpgradeHelpers.Helpers.ColorTranslator.FromOle(modGlobal.LT_BLUE);
                ViewModel.sprReport.FontBold   = true;
                ViewModel.sprReport.BlockMode  = false;
                ViewModel.sprReport.Col        = 3;
                ViewModel.sprReport.TypeHAlign = FarPoint.ViewModels.CellHorizontalAlignment.Center;
                ViewModel.sprReport.Text       = ProcedureCount.ToString();
                ViewModel.sprReport.Col        = 4;
                ViewModel.sprReport.Text       = "";
            }
        }