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); }
public HomeController(NameSuggestDbContext dbContext) { DbContext = dbContext; }
public static Dictionary <int, int> GetUpvotesDictionary(this IEnumerable <Suggestion> suggestions, NameSuggestDbContext dbContext) { var ids = suggestions.Select(x => x.SuggestionID); return(GetUpvotesDictionary(ids, dbContext)); }
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); }