public async Task <IActionResult> LikeMusic(UsersMusic model) { try { var usersmusics = await db.UsersMusics.FindAsync(model.UserId, model.MusicId); if (usersmusics == null) { db.UsersMusics.Add(new UsersMusic { UserId = model.UserId, MusicId = model.MusicId, Rating = 0, Liked = true }); } else { usersmusics.Liked = model.Liked; } await db.SaveChangesAsync(); return(new OkResult()); } catch { return(new StatusCodeResult(500)); } }
public async Task <IActionResult> RateMusic(UsersMusic model) { var ratedResult = musicManager.RateMusic(model).Result; if (ratedResult.RatedMusic) { await hubContext.Clients.All.SendAsync(RatedMusic, ratedResult); } return(StatusCode(200, ratedResult)); }
public async Task <RatedMusicResult> RateMusic(UsersMusic model) { RatedMusicResult result = new RatedMusicResult(); try { var entity = await db.UsersMusics.FindAsync(model.UserId, model.MusicId); if (entity == null) { db.UsersMusics.Add(new UsersMusic { UserId = model.UserId, MusicId = model.MusicId, Rating = model.Rating, Liked = false }); } else { entity.Rating = model.Rating; } await db.SaveChangesAsync(); double sumRating = 0; var rating = await db.UsersMusics.Where(r => r.MusicId == model.MusicId).ToListAsync(); foreach (var r in rating) { if (r.Rating > 0) { sumRating += r.Rating; } } result.Rating = Math.Round(sumRating / rating.Where(r => r.Rating > 0).Count(), 1); result.CountRatings = rating.Count; result.RatedMusic = true; } catch { result.RatedMusic = false; } return(result); }
public IActionResult LikeMusic(UsersMusic model) { return(musicManager.LikeMusic(model).Result); }