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));
            }
        }