示例#1
0
        public virtual async Task <double> SetRatingAsync(Guid entityId, string userId, int rating)
        {
            var existingRating = await RatingsSource.FirstOrDefaultAsync(link => link.UserId == userId && link.EntityId == entityId);

            if (existingRating == null)
            {
                var newRating = new LinkRatingEntity <T> {
                    UserId = userId, Rating = rating, EntityId = entityId
                };
                AddAndSaveRating(newRating);
            }
            else
            {
                existingRating.Rating = rating;
                await context.SaveChangesAsync();
            }

            return(await RecalcRatingsAsync(entityId));
        }
示例#2
0
 protected void AddAndSaveRating(LinkRatingEntity <T> newRating)
 {
     context.Add(newRating);
     context.SaveChanges();
 }