private async Task Like()
        {
            var likedRes = await _userAlbumVote.Get <List <Model.UserAlbumVote> >(new UserAlbumVoteSearchRequest
            {
                UserId  = APIService.loggedProfile.UserId,
                AlbumId = AlbumId
            });

            UserAlbumVote local = likedRes.FirstOrDefault();

            if (local == null)
            {
                UserAlbumVoteUpsertRequest request = new UserAlbumVoteUpsertRequest()
                {
                    Liked = true, UserId = APIService.loggedProfile.UserId, AlbumId = AlbumId
                };
                try
                {
                    await _userAlbumVote.Insert <Model.UserAlbumVote>(request);

                    await GlobalMethods.GenerateRating(AlbumId);
                    await AddOrRemoveFromLikedAlbums(false);
                    await SetLikeDislike();
                }
                catch (Exception ex)
                {
                    await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
                }
            }
            else if (local.Liked == true || local.Liked == false)
            {
                try
                {
                    await _userAlbumVote.Update <Model.UserAlbumVote>(0, new UserAlbumVoteUpsertRequest()
                    {
                        Liked   = true,
                        AlbumId = AlbumId,
                        UserId  = APIService.loggedProfile.UserId
                    });

                    await GlobalMethods.GenerateRating(AlbumId);

                    if (local.Liked == true)
                    {
                        await AddOrRemoveFromLikedAlbums(true);
                    }
                    else
                    {
                        await AddOrRemoveFromLikedAlbums(false);
                    }
                    await SetLikeDislike();
                }
                catch (Exception ex)
                {
                    await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
                }
            }
        }
        private async Task SetLikeDislike()
        {
            var likedRes = await _userAlbumVote.Get <List <Model.UserAlbumVote> >(new UserAlbumVoteSearchRequest
            {
                UserId  = APIService.loggedProfile.UserId,
                AlbumId = AlbumId
            });

            UserAlbumVote local         = likedRes.FirstOrDefault();
            var           numberOfLikes = await _userAlbumVote.Get <List <Model.UserAlbumVote> >(new UserAlbumVoteSearchRequest()
            {
                AlbumId = LoadedAlbum.AlbumId,
                Liked   = true
            });

            var numberOfDislikes = await _userAlbumVote.Get <List <Model.UserAlbumVote> >(new UserAlbumVoteSearchRequest()
            {
                AlbumId = LoadedAlbum.AlbumId,
                Liked   = false
            });

            NumberOfLikes    = numberOfLikes.Count();
            NumberOfDislikes = numberOfDislikes.Count();
            if (local == null)
            {
                LikeSource    = ImageSource.FromFile("like.png");
                DislikeSource = ImageSource.FromFile("dislike.png");
            }
            else if (local.Liked == true)
            {
                LikeSource    = ImageSource.FromFile("alreadyliked.png");
                DislikeSource = ImageSource.FromFile("dislike.png");
            }
            else if (local.Liked == false)
            {
                LikeSource    = ImageSource.FromFile("like.png");
                DislikeSource = ImageSource.FromFile("alreadydisliked.png");
            }
            var reloadedAlbum = await _albumService.GetById <Album>(AlbumId);

            RatingStr = "Rating: " + reloadedAlbum.AlbumGeneratedRating.ToString() + "/5";
        }