public async Task <BasexResponse <CountResponse> > GetStudentsCountAsync(int userId) { try { var result = await _givenClassroomDal.GetNumberOfStudentsAsync(userId); return(new BasexResponse <CountResponse>(new CountResponse { Count = result })); } catch (Exception ex) { return(new BasexResponse <CountResponse>(ex.Message)); } }
public async Task <BasexResponse <TotalScoreResponse> > GetTotalScore(int userId, string role) { try { if (role == CustomRoles.Student) { var resultMaterialAnswer = await _materialAnswerDal.GetWithMaterialAsync(userId); var filteredResult = resultMaterialAnswer.Where(r => r.Material.MaterialScale > 0); return(new BasexResponse <TotalScoreResponse>(new TotalScoreResponse(role) { Total = filteredResult.Sum(ma => ma.Score * (100 / ma.Material.MaterialScale)) })); } else if (role == CustomRoles.Teacher) { var result = await _givenClassroomDal.GetNumberOfStudentsAsync(userId); return(new BasexResponse <TotalScoreResponse>(new TotalScoreResponse(role) { Total = result, })); } else { return(new BasexResponse <TotalScoreResponse>($"There is no point system for {role}")); } } catch (Exception ex) { return(new BasexResponse <TotalScoreResponse>(ex.Message)); } }