public static void SaveTrackVote(long userId, int trackId, TrackVoteType type) { using (var db = new e3Radio.Data.E3RadioEntities()) { // check user exists in db UserManager.GetOrCreateUser(db, userId); // add, remove or update track like var existingLike = db.TrackLikes.SingleOrDefault(tl => tl.TrackID == trackId && tl.UserID == userId); if (existingLike == null) { // add new existingLike = new e3Radio.Data.TrackLike(); existingLike.TrackID = trackId; existingLike.UserID = userId; db.TrackLikes.Add(existingLike); } if (type == TrackVoteType.unvote) { // delete the love/hate entry db.TrackLikes.Remove(existingLike); } else { // add or update existingLike.IsLike = (type == TrackVoteType.love); existingLike.DateLiked = DateTime.Now; } db.SaveChanges(); } }
public static void SaveTrackVote(long userId, int trackId, TrackVoteType type) { using (var db = new e3Radio.Data.E3RadioEntities()) { // check user exists in db UserManager.GetOrCreateUser(db, userId); // add, remove or update track like var existingLike = db.TrackLikes.SingleOrDefault(tl => tl.TrackID == trackId && tl.UserID == userId); if (existingLike == null) { // add new existingLike = new e3Radio.Data.TrackLike(); existingLike.TrackID = trackId; existingLike.UserID = userId; db.TrackLikes.Add(existingLike); } if (type == TrackVoteType.unvote) { // delete the love/hate entry db.TrackLikes.Remove(existingLike); } else { // add or update existingLike.IsLike = (type == TrackVoteType.love); existingLike.DateLiked = DateTime.Now; } db.SaveChanges(); } }