using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace BCD.admin { public partial class AssignMeeting : System.Web.UI.Page { Class1 obj = new Class1(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { lblMessage.Text = ""; lblError.Text = ""; PopulateMeetings(); PopulateGrid(); // Set initial message for members dropdown ddlMembers.Items.Clear(); ddlMembers.Items.Insert(0, new ListItem("-- Search & Select Member --", "")); } } private void PopulateMeetings() { ddlMeetings.Items.Clear(); string query = "SELECT pkid, CourtNumber, JudgeName FROM newdelhibar_VirtualCourtHearings WHERE Bcdenroll IS NULL OR Bcdenroll = '' ORDER BY CourtNumber ASC"; DataSet ds = obj.ReturnDataSet(query); if (ds != null && ds.Tables[0].Rows.Count > 0) { ddlMeetings.DataSource = ds; ddlMeetings.DataTextField = "CourtNumber"; ddlMeetings.DataValueField = "pkid"; ddlMeetings.DataBind(); // Add judge name to text for better clarity foreach (ListItem item in ddlMeetings.Items) { DataRow[] rows = ds.Tables[0].Select("pkid = " + item.Value); if (rows.Length > 0) { item.Text = item.Text + " (" + rows[0]["JudgeName"].ToString() + ")"; } } } ddlMeetings.Items.Insert(0, new ListItem("-- Select Court Meeting --", "")); } private void PopulateGrid() { string query = @"SELECT h.pkid, h.CourtNumber, h.JudgeName, h.ScheduledTime, h.WebexLink, h.Bcdenroll, m.F_name, m.L_name FROM newdelhibar_VirtualCourtHearings h INNER JOIN Memberslist m ON h.Bcdenroll = m.Bcdenroll ORDER BY h.ScheduledTime ASC"; DataSet ds = obj.ReturnDataSet(query); if (ds != null && ds.Tables[0].Rows.Count > 0) { gridHearings.DataSource = ds; gridHearings.DataBind(); gridHearings.Visible = true; } else { gridHearings.Visible = false; } } protected void btnSearch_Click(object sender, EventArgs e) { lblMessage.Text = ""; lblError.Text = ""; string filter = ""; if (!string.IsNullOrEmpty(txtSearchName.Text.Trim())) { filter += " AND (F_name LIKE '%" + txtSearchName.Text.Trim() + "%' OR L_name LIKE '%" + txtSearchName.Text.Trim() + "%')"; } if (!string.IsNullOrEmpty(txtSearchEnroll.Text.Trim())) { filter += " AND Bcdenroll LIKE '%" + txtSearchEnroll.Text.Trim() + "%'"; } if (string.IsNullOrEmpty(filter)) { lblError.Text = "Please enter search criteria to find a member."; return; } string query = "SELECT F_name, L_name, Bcdenroll FROM Memberslist WHERE id != '0'" + filter + " ORDER BY F_name ASC"; DataSet ds = obj.ReturnDataSet(query); ddlMembers.Items.Clear(); if (ds != null && ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { string name = row["F_name"].ToString() + " " + row["L_name"].ToString(); string enroll = row["Bcdenroll"].ToString(); ddlMembers.Items.Add(new ListItem(name + " (" + enroll + ")", enroll)); } ddlMembers.Items.Insert(0, new ListItem("-- Select Member --", "")); lblMessage.Text = ds.Tables[0].Rows.Count + " member(s) found."; } else { ddlMembers.Items.Insert(0, new ListItem("-- No Members Found --", "")); lblError.Text = "No members match your search criteria."; } } protected void btnAssign_Click(object sender, EventArgs e) { lblMessage.Text = ""; lblError.Text = ""; if (string.IsNullOrEmpty(ddlMembers.SelectedValue)) { lblError.Text = "Please select a member."; return; } if (string.IsNullOrEmpty(ddlMeetings.SelectedValue)) { lblError.Text = "Please select a court meeting."; return; } string memberEnroll = ddlMembers.SelectedValue; string meetingId = ddlMeetings.SelectedValue; string query = "UPDATE newdelhibar_VirtualCourtHearings SET Bcdenroll = '" + memberEnroll + "' WHERE pkid = " + meetingId; int result = obj.SaveRecord(query); if (result > 0) { lblMessage.Text = "Court meeting assigned successfully to " + ddlMembers.SelectedItem.Text + "."; PopulateMeetings(); PopulateGrid(); // Reset member search txtSearchName.Text = ""; txtSearchEnroll.Text = ""; ddlMembers.Items.Clear(); ddlMembers.Items.Insert(0, new ListItem("-- Search & Select Member --", "")); } else { lblError.Text = "Error assigning court meeting. Please try again."; } } protected void gridHearings_ItemCommand(object source, DataGridCommandEventArgs e) { if (e.CommandName == "Unassign") { lblMessage.Text = ""; lblError.Text = ""; HiddenField hdnId = (HiddenField)e.Item.FindControl("hdnId"); if (hdnId != null) { string meetingId = hdnId.Value; string query = "UPDATE newdelhibar_VirtualCourtHearings SET Bcdenroll = NULL WHERE pkid = " + meetingId; int result = obj.SaveRecord(query); if (result > 0) { lblMessage.Text = "Meeting unassigned successfully."; PopulateMeetings(); PopulateGrid(); } else { lblError.Text = "Error unassigning meeting. Please try again."; } } } } } }