コード例 #1
0
ファイル: AppHub.cs プロジェクト: Seank23/AutoDJ_Web
        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");
                }
            }
        }