/// <summary>
        /// next -> initiate client play of next song in queue; update database if client is leader
        /// </summary>
        /// <param name="id">id -> current song id (for db)</param>
        public void next(int id)
        {
            OneMusicDBEntities db = new OneMusicDBEntities();

            Song current = db.Songs.FirstOrDefault(s => s.status == 1);
            Song next = new Song();

            if (current.id == id)
            {
                next = db.Songs.FirstOrDefault(s => s.status == 0); // && s.channel == current.channel);

                if (next == null)
                    next = db.Songs.FirstOrDefault(s => s.id > id);

                if (next == null)
                    next = db.Songs.FirstOrDefault();

                current.status = 2;
                current.position = null;
                next.status = 1;

                db.SaveChanges();
            }
            else
            {
                next = current;
            }

            Media output = new Media(next);
            output.Position = 0;

            Clients.Caller.play(output);
        }
 public Media(Song song)
 {
     Id = song.id;
     Track_Id = song.track_id;
     Track_Title = song.track_title;
     Url = song.url;
     Position = song.position.HasValue ? song.position.Value : 0;
     SubmittedBy = new Submitter();
     SubmittedBy.Name = song.User.user_name;
     SubmittedBy.Email = song.User.user_email;
 }
        public ActionResult Add(Media model)
        {
            if(User.Identity.IsAuthenticated) {
                OneMusicDBEntities db = new OneMusicDBEntities();
                Song n = new Song();
                n.track_id = model.Track_Id;
                n.track_title = model.Track_Title;
                n.status = 0;
                n.url = model.Url;
                n.date_added = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
                n.submitted_by = db.Users.FirstOrDefault(u => u.user_name == User.Identity.Name).user_id;

                db.Songs.Add(n);
                db.SaveChanges();
            }

            return RedirectToAction("Play");
        }