private void LoadDgvIssues()
        {
            int currentCellRow = 0;
            int currentCellCol = 0;

            if (dgvIssues.CurrentCell != null)
            {
                currentCellRow = dgvIssues.CurrentCell.RowIndex;
                currentCellCol = dgvIssues.CurrentCell.ColumnIndex;
            }

            DataTable dataTable = new DataTable();

            /// Set the datatable based on the SelectedIndex of <see cref="cboIssueViews"/>.
            switch (cboIssueViews.SelectedIndex)
            {
            case 0:
                dataTable = ServiceIssue.GetActive();
                break;

            case 1:
                dataTable = ServiceIssue.GetInactive();
                break;

            default:
                return;
            }

            if (dataTable.Rows.Count > 0)
            {
                var dt = dataTable.AsEnumerable().Where(x => x.Field <Guid?>("PlanRecordKeeperProductId") == CurrentPlanRecordKeeperProduct.Id);
                if (dt.Any())
                {
                    dataTable = dt.CopyToDataTable();
                }
                else
                {
                    dataTable.Rows.Clear();
                }
            }

            // Add plan name column and fill data
            dataTable.Columns.Add("Plan");
            foreach (DataRow dr in dataTable.Rows)
            {
                string planIdString = dr["PlanId"].ToString();
                if (String.IsNullOrWhiteSpace(planIdString) == false)
                {
                    Guid planId = new Guid(planIdString);
                    Plan plan   = new Plan(planId);
                    dr["Plan"] = plan.Name;
                }
            }

            dgvIssues.DataSource = dataTable;

            // Display/order the columns.
            dgvIssues.Columns["ServiceIssueId"].Visible   = false;
            dgvIssues.Columns["PlanId"].Visible           = false;
            dgvIssues.Columns["RecordKeeperId"].Visible   = false;
            dgvIssues.Columns["AuditorId"].Visible        = false;
            dgvIssues.Columns["DescriptionValue"].Visible = false;
            dgvIssues.Columns["CreatedBy"].Visible        = false;
            dgvIssues.Columns["ModifiedBy"].Visible       = false;
            dgvIssues.Columns["StateCode"].Visible        = false;

            dgvIssues.Columns["SubjectValue"].DisplayIndex = 0;
            dgvIssues.Columns["Plan"].DisplayIndex         = 1;
            dgvIssues.Columns["AsOfDate"].DisplayIndex     = 2;
            dgvIssues.Columns["ModifiedOn"].DisplayIndex   = 3;

            if (dgvIssues.RowCount > 0 && dgvIssues.ColumnCount > 0)
            {
                DataGridViewCell selectedCell = dgvIssues.Rows[currentCellRow].Cells[currentCellCol];
                if (selectedCell != null && selectedCell.Visible)
                {
                    dgvIssues.CurrentCell = selectedCell;
                }
                else
                {
                    dgvIssues.CurrentCell = dgvIssues.FirstDisplayedCell;
                }
            }
        }
        private void LoadDgvIssues()
        {
            DataTable dataTable = new DataTable();

            /// Set the datatable based on the SelectedIndex of <see cref="cboIssueViews"/>.
            switch (cboIssueViews.SelectedIndex)
            {
            case 0:
                dataTable = ServiceIssue.GetActive();
                break;

            case 1:
                dataTable = ServiceIssue.GetInactive();
                break;

            default:
                return;
            }

            if (dataTable.Rows.Count > 0)
            {
                var dt = dataTable.AsEnumerable().Where(x => x.Field <Guid?>("PlanId") == CurrentPlan.PlanId);
                if (dt.Any())
                {
                    dataTable = dt.CopyToDataTable();
                }
                else
                {
                    dataTable.Rows.Clear();
                }
            }

            // Add plan name column and fill data
            dataTable.Columns.Add("RecordKeeper");
            foreach (DataRow dr in dataTable.Rows)
            {
                string recordKeeperIdString = dr["RecordKeeperId"].ToString();
                if (String.IsNullOrWhiteSpace(recordKeeperIdString) == false)
                {
                    Guid recordKeeperId = new Guid(recordKeeperIdString);
                    DataIntegrationHub.Business.Entities.RecordKeeper recordKeeper = new DataIntegrationHub.Business.Entities.RecordKeeper(recordKeeperId);
                    dr["RecordKeeper"] = recordKeeper.Name;
                }
            }

            dgvIssues.DataSource = dataTable;

            // Display/order the columns.
            dgvIssues.Columns["ServiceIssueId"].Visible   = false;
            dgvIssues.Columns["PlanId"].Visible           = false;
            dgvIssues.Columns["RecordKeeperId"].Visible   = false;
            dgvIssues.Columns["AuditorId"].Visible        = false;
            dgvIssues.Columns["DescriptionValue"].Visible = false;
            dgvIssues.Columns["CreatedBy"].Visible        = false;
            dgvIssues.Columns["ModifiedBy"].Visible       = false;
            dgvIssues.Columns["StateCode"].Visible        = false;

            dgvIssues.Columns["SubjectValue"].DisplayIndex = 0;
            dgvIssues.Columns["RecordKeeper"].DisplayIndex = 1;
            dgvIssues.Columns["AsOfDate"].DisplayIndex     = 2;
            dgvIssues.Columns["ModifiedOn"].DisplayIndex   = 3;
        }