public static string StatusText(string name, eAdvisorStatus reason) { DateTime when = DateTime.Now; string text = ""; switch (reason) { case eAdvisorStatus.Active: text = string.Format("{0} is typing a message", name); break; case eAdvisorStatus.Ready: text = string.Format("{0} is counselling a user", name); break; case eAdvisorStatus.Hold: text = string.Format("{0} is on hold", name); break; case eAdvisorStatus.Offline: text = string.Format("{0} left the chat at {1}", name, when.ToShortTimeString()); break; case eAdvisorStatus.Timeout: text = string.Format("{0} left the chat at {1}, due to timeout", name, when.ToShortTimeString()); break; } return(text); }
public void AdvisorLeave(Guid advisorID, eAdvisorStatus status) { if (advisors.ContainsKey(advisorID)) { var advisor = advisors[advisorID]; var childId = advisor.Child; var text = Advisor.StatusText(advisor.Name == advisorID.ToString() ? "Advisor" : advisor.Name, status); if (childId.HasValue && children.ContainsKey(childId.Value)) { AdvisorSay(advisorID, text, eMessageType.Leave); children[childId.Value].Advisor = null; } advisors.Remove(advisorID); } if (advisors.Count == 0) m_isQueueOpen = false; }
public void AdvisorLeave(Guid advisorID, eAdvisorStatus status) { if (advisors.ContainsKey(advisorID)) { var advisor = advisors[advisorID]; var childId = advisor.Child; var text = Advisor.StatusText(advisor.Name == advisorID.ToString() ? "Advisor" : advisor.Name, status); if (childId.HasValue && children.ContainsKey(childId.Value)) { AdvisorSay(advisorID, text, eMessageType.Leave); children[childId.Value].Advisor = null; } advisors.Remove(advisorID); } if (advisors.Count == 0) { m_isQueueOpen = false; } }
public static string StatusText(string name, eAdvisorStatus reason) { DateTime when = DateTime.Now; string text = ""; switch(reason) { case eAdvisorStatus.Active: text = string.Format("{0} is typing a message", name); break; case eAdvisorStatus.Ready: text = string.Format("{0} is counselling a user", name); break; case eAdvisorStatus.Hold: text = string.Format("{0} is on hold", name); break; case eAdvisorStatus.Offline: text = string.Format("{0} left the chat at {1}", name, when.ToShortTimeString()); break; case eAdvisorStatus.Timeout: text = string.Format("{0} left the chat at {1}, due to timeout", name, when.ToShortTimeString()); break; } return text; }