private void Search() { if (pnlResults.InvokeRequired) { EmptyDelegate ed = new EmptyDelegate(Search); Invoke(ed); } else { eligibility_data ed = new eligibility_data(); DataTable matches = ed.Search(BuildSQL()); DateTime? lastDate = new DateTime(1900, 1, 1); numAppointmentsFound = matches.Rows.Count; pnlResults.SuspendLayout(); pnlResults.Controls.Clear(); foreach (DataRow aRow in matches.Rows) { ed = new eligibility_data(); ed.Load(aRow); AddAppointment(ed, lastDate); lastDate = ed.appt_date; } pnlResults.ResumeLayout(); UpdateLastLabelSafe(lastDateLabel, numAppointmentsCurrentDate); UpdateBinCounts(); } }
private void LoadData(eligibility_data ed) { lblPatientName.Text = ed.patient_name; lblDescription.Text = ed.procedure_info; lblTime.Text = string.Format("{0}\n{1} min", ed.appt_date.ToString("H:mm"), ed.appt_length.ToString()); if (isSent) { if (ed.last_status == (int)frmEligibility.Eligibility_Status.Verified) { lblStatus.Text = "Valid"; lblStatus.BackColor = COLOR_VALID; } else if (ed.last_status == (int)frmEligibility.Eligibility_Status.Rejected) { lblStatus.Text = "Invalid"; lblStatus.BackColor = COLOR_INVALID; } else { lblStatus.Text = "Sent"; lblStatus.BackColor = COLOR_SENT; } } else { lblStatus.Text = "Unsent"; lblStatus.BackColor = COLOR_UNCHECKED; } }
public ctlPatientEligibility(eligibility_data ed) { InitializeComponent(); EligibilityData = ed; isSent = false; if (ed.last_check.HasValue) { if (ed.last_check.Value.Year > 1900) { isSent = true; } } CheckState = !isSent; }
private string BuildSQL(bool isCount, FormSearchMode searchMode) { eligibility_data ed = new eligibility_data(); string sql; if (isCount) { sql = string.Format("SELECT COUNT(*) FROM eligibility_data WHERE CAST(appt_date AS DATE) >= Cast(GetDate() AS DATE) ", nmbMaxResults.Value.ToString()); } else { sql = string.Format("SELECT TOP {0} * FROM eligibility_data WHERE CAST(appt_date AS DATE) >= Cast(GetDate() AS DATE) ", nmbMaxResults.Value.ToString()); } if (searchMode == FormSearchMode.Unsent) { sql += " AND (last_check = null OR last_check < '1-2-1900')"; } else if (searchMode == FormSearchMode.Tomorrow) { sql += string.Format(" AND CAST(appt_date AS DATE) = CAST('{0}' AS DATE)", DateTime.Today.AddDays(1)); } else if (searchMode == FormSearchMode.AllUpcoming) { sql += ""; // No additional criteria required } else if (searchMode == FormSearchMode.Rejected) { sql += " AND last_check > '1-2-1900' AND last_status = 0"; } else if (searchMode == FormSearchMode.Sent) { sql += " AND last_check > '1-2-1900' AND last_status = 2"; } if (!isCount) { sql += " ORDER BY appt_date asc"; } return(sql); }
private void UpdateBinCounts() { if (btnTomorrow.InvokeRequired) { EmptyDelegate ed = new EmptyDelegate(UpdateBinCounts); Invoke(ed); } else { eligibility_data ed = new eligibility_data(); UpdateBinCount(ed.Search(BuildSQL(true, FormSearchMode.Unsent)).Rows[0][0].ToString(), btnUnverified, "Unsent", _searchMode == FormSearchMode.Unsent); UpdateBinCount(ed.Search(BuildSQL(true, FormSearchMode.Rejected)).Rows[0][0].ToString(), btnRejected, "Rejected", _searchMode == FormSearchMode.Rejected); UpdateBinCount(ed.Search(BuildSQL(true, FormSearchMode.Tomorrow)).Rows[0][0].ToString(), btnTomorrow, "Tomorrow", _searchMode == FormSearchMode.Tomorrow); UpdateBinCount(ed.Search(BuildSQL(true, FormSearchMode.AllUpcoming)).Rows[0][0].ToString(), btnUpcoming, "All Upcoming", _searchMode == FormSearchMode.AllUpcoming); UpdateBinCount(ed.Search(BuildSQL(true, FormSearchMode.Sent)).Rows[0][0].ToString(), btnSent, "Sent", _searchMode == FormSearchMode.Sent); } }
private void AddAppointment(eligibility_data ed, DateTime?lastDate) { if (lastDate.Value.Date != ed.appt_date.Date) { if (lastDateLabel != null) { UpdateLastLabelSafe(lastDateLabel, numAppointmentsCurrentDate); } Label dateHeader = new Label(); lastDateLabel = dateHeader; numAppointmentsCurrentDate = 0; dateHeader.AutoSize = false; dateHeader.Text = ed.appt_date.ToLongDateString(); dateHeader.BorderStyle = BorderStyle.FixedSingle; dateHeader.BackColor = Color.SteelBlue; dateHeader.ForeColor = Color.White; dateHeader.TextAlign = ContentAlignment.MiddleLeft; dateHeader.Font = new Font(new FontFamily("Tahoma"), 10.0f, FontStyle.Bold); dateHeader.Height = 40; pnlResults.Controls.Add(dateHeader); dateHeader.Dock = DockStyle.Top; dateHeader.BringToFront(); } ctlPatientEligibility toAdd = new ctlPatientEligibility(ed); toAdd.BorderStyle = BorderStyle.FixedSingle; pnlResults.Controls.Add(toAdd); numAppointmentsCurrentDate++; toAdd.Dock = DockStyle.Top; toAdd.BringToFront(); }
/// <summary> /// Checks to see if a given record exists in our system. If so, updates it. If not, creates it. /// </summary> /// <param name="aRow"></param> /// <returns></returns> private void CheckCreateEligibility(DataRow aRow) { eligibility_data egd = new eligibility_data(); egd.dentrix_id = Convert.ToInt32(aRow["APPTID"].ToString()); egd.dentrix_db = Convert.ToInt32(aRow["APPTDB"].ToString()); DataTable matches = egd.Search(); if (matches.Rows.Count > 0) { // We have a copy of this stored locally egd.Load(matches.Rows[0]); } // appt_date PatName, ApptLen, Time_Hour, Time_Minute, ApptReason egd.patient_name = aRow["PatName"].ToString(); egd.appt_length = Convert.ToInt32(aRow["ApptLen"]); DateTime apptDay = Convert.ToDateTime(aRow["apptdate"].ToString()); egd.appt_date = new DateTime(apptDay.Year, apptDay.Month, apptDay.Day, Convert.ToInt32(aRow["Time_Hour"]), Convert.ToInt32(aRow["Time_Minute"]), 0); egd.procedure_info = aRow["apptReason"].ToString(); egd.Save(); }