コード例 #1
0
        public bool ToggleVote(int id, int categoryID, string userID, bool actual, out string message)
        {
            message = string.Empty;
            var category = CategoryService.Get(categoryID);

            if (category.Statut != (int)Common.Entities.CategoryStatus.Opened)
            {
                message = "La catégorie est fermée aux votes";
                return(false);
            }
            if (actual)
            {
                RankingService.RemoveVote(id, userID);
                message = "Votre vote a bien été annulé !";
                return(true);
            }

            int nbVotes = RankingService.GetNumberVotesForUser(categoryID, userID);

            if (nbVotes >= Constants.MAX_VOTES)
            {
                message = "Désolé, vous avez atteint le maximum de votes";
                return(false);
            }
            if (RankingService.AddVote(id, userID))
            {
                message = "Merci pour votre vote !";
                return(true);
            }
            else
            {
                message = "Vous avez déjà voté pour cet album";
                return(false);
            }
        }