private void radCardViewMain_ItemMouseClick(object sender, ListViewItemEventArgs e) { LiveClientStatus lcs = ((DataRowView)e.Item.DataBoundItem).Row["Column 1"] as LiveClientStatus; ClientInfo ci = new ClientInfo(lcs); ci.ShowDialog(); }
private void radButtonMarkClean_Click(object sender, EventArgs e) { if (radListViewClientList.CheckedItems.Count > 0) { DialogResult dr = RadMessageBox.Show(this, string.Format("Are you sure you want to mark ({0}) machines as \"Cleaned\"?", radListViewClientList.CheckedItems.Count), "Confirm", MessageBoxButtons.YesNo, RadMessageIcon.Question); if (dr == DialogResult.Yes) { List <ClientParm> clientParm = new List <ClientParm>(); foreach (ListViewDataItem lv in radListViewClientList.CheckedItems) { LiveClientStatus lcs = (LiveClientStatus)lv.Value; clientParm.Add(new ClientParm(lcs.ClientID)); } NetworkFunction.TurnOffCleaningFlag(clientParm); this.Close(); } } else { this.ShowAlertBox("Manager Features", "Please select at least one client machine to continue!"); } }
private void FlipAssistantRow() { try { IEnumerable <RadElement> raditem = radCardViewMain.CardViewElement.ViewElement.GetChildren(ChildrenListOptions.Normal).FirstOrDefault().GetChildren(ChildrenListOptions.Normal); foreach (RadElement re in raditem) { CardListViewVisualItem clvvi = (CardListViewVisualItem)re; List <RadElement> re2 = clvvi.CardContainer.GetChildren(ChildrenListOptions.Normal).ToList(); CardViewItem cvi = (CardViewItem)re2.Where(x => ((CardViewItem)x).FieldName == "Assist").FirstOrDefault(); LiveClientStatus lcs = (LiveClientStatus)clvvi.Data.Value; if (cvi != null && lcs.IsAssistanceRequested) { cvi.DrawBorder = _flipStatus; } } _flipStatus = !_flipStatus; } catch { } }
private void radButtonEndSession_Click(object sender, EventArgs e) { if (radListViewClientList.CheckedItems.Count > 0) { DialogResult dr = RadMessageBox.Show(this, string.Format("Are you sure you want to *MANUALLY* end session on ({0}) machines?", radListViewClientList.CheckedItems.Count), "Confirm", MessageBoxButtons.YesNo, RadMessageIcon.Question); if (dr == DialogResult.Yes) { List <ClientParm> clientParm = new List <ClientParm>(); foreach (ListViewDataItem lv in radListViewClientList.CheckedItems) { LiveClientStatus lcs = (LiveClientStatus)lv.Value; Dictionary <string, string> dParm = new Dictionary <string, string>(); dParm.Add("EndMode", "Manual"); clientParm.Add(new ClientParm(lcs.ClientID, dParm)); } NetworkFunction.SendEndNow(clientParm); this.Close(); } } else { this.ShowAlertBox("Manager Features", "Please select at least one client machine to continue!"); } }
private void radButtonStartSessionTimed_Click(object sender, EventArgs e) { if (radListViewClientList.CheckedItems.Count > 0) { DialogResult dr = RadMessageBox.Show(this, string.Format("Are you sure you want to start timed session on ({0}) machines for ({1}) minutes of each?", radListViewClientList.CheckedItems.Count, radSpinEditorSessionTime.Value), "Confirm", MessageBoxButtons.YesNo, RadMessageIcon.Question); if (dr == DialogResult.Yes) { List <ClientParm> clientParm = new List <ClientParm>(); foreach (ListViewDataItem lv in radListViewClientList.CheckedItems) { LiveClientStatus lcs = (LiveClientStatus)lv.Value; Dictionary <string, string> dParm = new Dictionary <string, string>(); dParm.Add("Duration", radSpinEditorSessionTime.Value.ToString()); clientParm.Add(new ClientParm(lcs.ClientID, dParm)); } NetworkFunction.SendStartTiming(clientParm); this.Close(); } } else { this.ShowAlertBox("Manager Features", "Please select at least one client machine to continue!"); } }
private void radButtonEmergency_Click(object sender, EventArgs e) { DialogResult dr = RadMessageBox.Show(this, string.Format("Are you sure you want to put system in emergency mode? All sessions will be FORCED TO EXIT!"), "Confirm", MessageBoxButtons.YesNo, RadMessageIcon.Question); if (dr == DialogResult.Yes) { List <ClientParm> clientParm = new List <ClientParm>(); foreach (ListViewDataItem lv in radCardViewMain.Items) { LiveClientStatus lcs = (LiveClientStatus)lv.Value; Dictionary <string, string> dParm = new Dictionary <string, string>(); dParm.Add("EndMode", "Emergency"); clientParm.Add(new ClientParm(lcs.ClientID, dParm)); } NetworkFunction.SendEndNow(clientParm); } }
private void radCardViewMain_CardViewItemFormatting(object sender, Telerik.WinControls.UI.CardViewItemFormattingEventArgs e) { DataRowView dr = (DataRowView)e.VisualItem.Data.DataBoundItem; CardViewItem cardItem = e.Item as CardViewItem; if (cardItem != null) { LiveClientStatus lcs = ((LiveClientStatus)dr.Row["Column 1"]); switch (cardItem.FieldName) { case "Column 0": cardItem.EditorItem.DrawText = false; Image image; string status = ""; bool isOnline = false; Utility.TranslateOnlineStatus(lcs.ClientStatus, out status, out isOnline); if (((bool)dr.Row["Column 0"]) == true) { switch (lcs.Mode) { case "TIMING_ON": image = Resources.ComputerOnTiming.ScaleImage(100, 100); break; case "NO_TIMING_ON": image = Resources.ComputerOnNonTiming.ScaleImage(100, 100); break; default: if (status != "ERROR" && isOnline) { if (lcs.ClientStatus == Enums.LiveClientStatus.GAMEOVER_FOR_CLEANING) { image = Resources.ComputerCleaning.ScaleImage(100, 100); } else if (lcs.ClientStatus == Enums.LiveClientStatus.ONLINE) { image = Resources.ComputerOnError.ScaleImage(100, 100); } else { image = Resources.ComputerOnReady.ScaleImage(100, 100); } } else { image = Resources.ComputerOnError.ScaleImage(100, 100); } break; } } else { image = Resources.ComputerOff.ScaleImage(100, 100); } cardItem.EditorItem.Image = image; cardItem.EditorItem.ImageLayout = ImageLayout.Center; cardItem.EditorItem.NotifyParentOnMouseInput = false; cardItem.EditorItem.ShouldHandleMouseInput = false; cardItem.Padding = new Padding(-5, -5, -5, 0); return; case "Column 1": cardItem.Text = "Name"; cardItem.EditorItem.Text = lcs.ClientName; break; case "Column 2": cardItem.Text = "Mode"; break; case "Column 3": cardItem.Text = "Status"; if (lcs.ClientStatus == Enums.LiveClientStatus.GAMEOVER_FOR_CLEANING) { cardItem.DrawFill = true; cardItem.BackColor = Color.Lavender; cardItem.BackColor2 = Color.MediumBlue; cardItem.ForeColor = Color.White; } else { cardItem.DrawFill = false; cardItem.ForeColor = Color.Black; } cardItem.BorderBoxStyle = BorderBoxStyle.SingleBorder; cardItem.BorderGradientStyle = GradientStyles.Solid; cardItem.BorderColor = Color.Blue; cardItem.BorderWidth = 1; break; case "Column 4": cardItem.Text = "Left / Pass"; break; case "Column 5": cardItem.Text = "Help Needed"; if (cardItem.EditorItem.Text == "Yes") { cardItem.DrawFill = true; cardItem.BackColor = Color.Pink; cardItem.BackColor2 = Color.Red; cardItem.ForeColor = Color.White; } else { cardItem.DrawFill = false; cardItem.ForeColor = Color.Black; } cardItem.BorderBoxStyle = BorderBoxStyle.SingleBorder; cardItem.BorderGradientStyle = GradientStyles.Solid; cardItem.BorderColor = Color.Red; cardItem.BorderWidth = 1; break; default: break; } System.Drawing.Font editorFont = new System.Drawing.Font(cardItem.Font.FontFamily, cardItem.Font.Size, FontStyle.Regular); cardItem.EditorItem.Font = editorFont; } }
private void PopulateMainCardView(List <LiveClientStatus> liveClientStatus) { string status = ""; bool isOnline = false; string timeLeft = ""; string assist = ""; string mode = ""; lock (_lockCardView) { if (liveClientStatus.Count > 0) { //radCardViewMain.SelectedItem = null; radCardViewMain.BeginUpdate(); // delete non-exist List <DataRow> removeClientListItem = new List <DataRow>(); foreach (DataRow dr in _dtClientList.Rows) { LiveClientStatus lcsCurr = ((LiveClientStatus)dr["Column 1"]); LiveClientStatus lcs = liveClientStatus.Where(x => x.ClientID == lcsCurr.ClientID).FirstOrDefault(); if (lcs == null) { // item is deleted removeClientListItem.Add(dr); } } foreach (DataRow dr in removeClientListItem) { _dtClientList.Rows.Remove(dr); } // sort liveClientStatus liveClientStatus = liveClientStatus.OrderBy(x => x.ClientName).ToList(); // add new or change existing foreach (LiveClientStatus lcs in liveClientStatus) { Utility.TranslateOnlineStatus(lcs.ClientStatus, out status, out isOnline); timeLeft = lcs.TimeLeft.ToString(@"hh\:mm\:ss"); assist = lcs.IsAssistanceRequested ? "Yes" : "No"; switch (lcs.Mode) { case "TIMING_ON": mode = "Timing"; break; case "NO_TIMING_ON": mode = "Manual"; break; default: if (status != "ERROR" && isOnline) { mode = "-"; } else { mode = "-"; } break; } bool bFoundlcsItem = false; foreach (DataRow dr in _dtClientList.Rows) { LiveClientStatus lcsCurr = ((LiveClientStatus)dr["Column 1"]); if (lcsCurr.ClientID == lcs.ClientID) { if ((bool)dr["Column 0"] != isOnline || lcsCurr.ClientName != lcs.ClientName || (string)dr["Column 2"] != mode || (string)dr["Column 3"] != status || (string)dr["Column 4"] != timeLeft || (string)dr["Column 5"] != assist) { dr["Column 0"] = isOnline; dr["Column 1"] = lcs; dr["Column 2"] = mode; dr["Column 3"] = status; dr["Column 4"] = timeLeft; dr["Column 5"] = assist; _dtClientList.AcceptChanges(); } bFoundlcsItem = true; } } if (!bFoundlcsItem) { _dtClientList.Rows.Add(isOnline, lcs, mode, status, timeLeft, assist); _dtClientList.AcceptChanges(); } } radCardViewMain.EndUpdate(); } } }
public ClientInfo(LiveClientStatus liveClientStatus) : this() { _liveClientStatus = liveClientStatus; }