コード例 #1
0
        public SuggestionValidationState GetSuggestionValidationState(string userIp, NameSuggestDbContext dbContext)
        {
            if (dbContext.Suggestions.Any(x => x.SuggestionValue == Proposition))
            {
                return(SuggestionValidationState.SUGGESTIONEXISTS);
            }

            if (dbContext.Suggestions.Count(x => x.UserIP == userIp) >= 3)
            {
                return(SuggestionValidationState.IPALREADYUSED);
            }



            return(SuggestionValidationState.VALID);
        }
コード例 #2
0
 public HomeController(NameSuggestDbContext dbContext)
 {
     DbContext = dbContext;
 }
コード例 #3
0
        public static Dictionary <int, int> GetUpvotesDictionary(this IEnumerable <Suggestion> suggestions, NameSuggestDbContext dbContext)
        {
            var ids = suggestions.Select(x => x.SuggestionID);

            return(GetUpvotesDictionary(ids, dbContext));
        }
コード例 #4
0
        public static Dictionary <int, int> GetUpvotesDictionary(this IEnumerable <int> suggestionsId, NameSuggestDbContext dbContext)
        {
            if (!suggestionsId.Any())
            {
                return(new Dictionary <int, int>());
            }

            var dbConnection = dbContext.Database.GetDbConnection();
            var results      = dbConnection.Query("Select SuggestionID as Id, COUNT(UpVoteID) as Count  FROM UpVotes WHERE SuggestionID IN @suggestionsID  GROUP BY SuggestionID", new { suggestionsId }).ToDictionary(row => (int)row.Id, row => (int)row.Count);

            return(results);
        }