Example #1
0
        protected virtual async Task <double> RecalcRatingsAsync(Guid entityId)
        {
            var ratingsExist = await RatingsSource.AnyAsync(link => link.EntityId == entityId);

            var avg = ratingsExist
                ? await RatingsSource
                      .Where(link => link.EntityId == entityId)
                      .Select(link => link.Rating)
                      .AverageAsync()
                : 0;

            var entity = await EntitiesSource.FirstOrDefaultAsync(p => p.Id == entityId);

            entity.EntityInfo.Rating = avg;

            SaveChangedState(entity);

            return(avg);
        }
Example #2
0
 public virtual int EntitiesCount()
 {
     return(EntitiesSource.Count());
 }
Example #3
0
 public virtual T GetEntity(Guid entityId)
 {
     return(EntitiesSource.FirstOrDefault(e => e.Id == entityId));
 }
Example #4
0
 public virtual IEnumerable <T> GetEntities(int quantity, int skip = 0)
 {
     return(EntitiesSource.Skip(skip).Take(quantity));
 }