/// <summary> /// /// </summary> /// <param name="userId"></param> /// <param name="subjectId"></param> /// <returns></returns> public async Task <float> GetTotalAverageAsync(string userId) { float n1 = 0.0f, n2 = 0.0f; var query = await Evaluations.Include(u => u.Subject) .Where(u => u.UserId == userId) .Select(u => new Note { Value = u.Note, Coefficient = u.Coefficient }) .ToListAsync(); if (!query.Any()) { return(-1); } foreach (var item in query) { n1 += item.Value * item.Coefficient; n2 += item.Coefficient; } if (n2 == 0) { return(-1); } return(n1 / n2); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <Evaluation> GetEvaluationAsync(int id) { return(await Evaluations.Include(u => u.Subject) .Where(u => u.Id == id) .SingleOrDefaultAsync()); }
/// <summary> /// /// </summary> /// <param name="userId"></param> /// <param name="subjectId"></param> /// <returns></returns> public async Task <List <Evaluation> > ToList(string userId, int subjectId) { return(await Evaluations.Include(u => u.Subject) .Where(u => u.UserId == userId && u.Subject.Id == subjectId) .ToListAsync()); }