public async Task Duration(string sessionId, string[] clientDuration) { int duration = 0; if (SessionHandler.IsValidSession(sessionId)) { QueueModel myQueue = SessionHandler.GetQueue(sessionId); duration = QueueModel.GetDurationSeconds(myQueue.GetDurationList()); } else if (sessionId == "" && clientDuration != null) { duration = QueueModel.GetDurationSeconds(clientDuration); } int hrs = (int)Math.Floor((double)duration / 3600); int mins = (int)Math.Floor(((double)duration / 60) % 60); int secs = duration % 60; if (SessionHandler.IsValidSession(sessionId)) { if (hrs != 0) { await Clients.Group(sessionId).SendAsync("SetQueueDuration", hrs + " hrs " + mins + " mins " + secs + " secs"); } else if (mins != 0) { await Clients.Group(sessionId).SendAsync("SetQueueDuration", mins + " mins " + secs + " secs"); } else { await Clients.Group(sessionId).SendAsync("SetQueueDuration", secs + " secs"); } } else { if (hrs != 0) { await Clients.Caller.SendAsync("SetQueueDuration", hrs + " hrs " + mins + " mins " + secs + " secs"); } else if (mins != 0) { await Clients.Caller.SendAsync("SetQueueDuration", mins + " mins " + secs + " secs"); } else { await Clients.Caller.SendAsync("SetQueueDuration", secs + " secs"); } } }