Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public IActionResult LikeMusic(UsersMusic model)
 {
     return(musicManager.LikeMusic(model).Result);
 }