Search in sources :

Example 6 with Activity

use of com.remswork.project.alice.model.Activity in project classify-system by anverliedoit.

the class ActivityInputActivityF method onCreate.

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_z_input_activity);
    init();
    buttonSubmit.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            final long classId = getIntent().getExtras().getLong("classId");
            try {
                Activity activity = new Activity();
                activity.setTitle(!editTextName.getText().toString().trim().isEmpty() ? editTextName.getText().toString().trim() : "Activity");
                activity.setDate(textViewDate.getText().toString());
                if (editTextTotal.getText().toString().equals("")) {
                    toggleButtonhideandshow.setChecked(false);
                    getDialogEmptyTotal.setVisibility(View.VISIBLE);
                    recyclerViewStudentInput.setVisibility(View.GONE);
                    return;
                } else {
                    activity.setItemTotal(Integer.parseInt(editTextTotal.getText().toString()));
                }
                studentAdapter.setTotalItem(activity.getItemTotal());
                studentAdapter.onValidate(true);
                if (studentAdapter.isNoError()) {
                    activity = activityService.addActivity(activity, classId, 2L);
                    for (int i = 0; i < studentList.size(); i++) {
                        // Student id
                        final long studentId = studentList.get(i).getId();
                        // 
                        int score = studentAdapter.getScore(i);
                        Student student = studentList.get(i);
                        activityService.addActivityResult(score, activity.getId(), student.getId());
                        // Adding Grade for activity
                        new Thread(new Runnable() {

                            @Override
                            public void run() {
                                try {
                                    final List<Activity> activityList = activityService.getActivityListByClassId(classId);
                                    final double[] fActivity = new double[activityList.size()];
                                    final long sId = studentId;
                                    double tempTotal = 0;
                                    try {
                                        List<Grade> tempList = gradeService.getGradeListByClass(classId, sId, 2L);
                                        grade = (tempList.size() > 0 ? tempList.get(0) : null);
                                    } catch (GradingFactorException e) {
                                        e.printStackTrace();
                                        grade = null;
                                    }
                                    if (grade == null) {
                                        Grade _grade = new Grade();
                                        grade = gradeService.addGrade(_grade, classId, studentId, 2L);
                                    }
                                    final Grade lGrade = grade;
                                    final long gradeId = grade.getId();
                                    Log.i("STUDENT ID :", sId + "");
                                    Log.i("Grade ID :", gradeId + "");
                                    for (int i = 0; i < fActivity.length; i++) {
                                        final double total = activityList.get(i).getItemTotal();
                                        final double score = activityService.getActivityResultByActivityAndStudentId(activityList.get(i).getId(), sId).getScore();
                                        fActivity[i] = (score / total) * 100;
                                        Log.i("Activity[" + i + "] :", fActivity[i] + "");
                                    }
                                    for (int i = 0; i < fActivity.length; i++) tempTotal += fActivity[i];
                                    // after looping
                                    if (fActivity.length > 0)
                                        tempTotal /= fActivity.length;
                                    else
                                        tempTotal = 0;
                                    lGrade.setActivityScore(tempTotal);
                                    lGrade.setTotalScore(lGrade.getTotalScore() + tempTotal);
                                    gradeService.updateGradeById(gradeId, lGrade);
                                } catch (GradingFactorException e) {
                                    e.printStackTrace();
                                }
                            }
                        }).start();
                    }
                    dialogSucces.setVisibility(View.VISIBLE);
                    Toast.makeText(ActivityInputActivityF.this, "Success", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(ActivityInputActivityF.this, "Failed", Toast.LENGTH_LONG).show();
                    dialogFailed.setVisibility(View.VISIBLE);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}
Also used : Button(android.widget.Button) ToggleButton(android.widget.ToggleButton) CompoundButton(android.widget.CompoundButton) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) AppCompatActivity(android.support.v7.app.AppCompatActivity) Activity(com.remswork.project.alice.model.Activity) ArrayList(java.util.ArrayList) List(java.util.List) Grade(com.remswork.project.alice.model.Grade) Student(com.remswork.project.alice.model.Student) View(android.view.View) CardView(android.support.v7.widget.CardView) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException)

Example 7 with Activity

use of com.remswork.project.alice.model.Activity in project classify-system by anverliedoit.

the class ActivityGradeManager method run.

@Override
public void run() {
    try {
        // total activity grade
        double totalActivityGrade = 0;
        // total number of activity
        int numberOfActivity = activityList.size();
        for (Activity activity : activityList) {
            // activity total score
            int totalScore = activity.getItemTotal();
            // student score
            int score = activityService.getActivityResultByActivityAndStudentId(activity.getId(), student.getId()).getScore();
            Log.i("Student : " + student.getId(), "TotalScore : " + totalScore);
            Log.i("Student : " + student.getId(), "Score : " + score);
            // equivalent score
            double tempScore = ((((double) score / (double) totalScore) * 100) * ACTUAL_GRADE) + (100 * DEFAULT_GRADE);
            // 
            totalActivityGrade += tempScore;
            Log.i("Student : " + student.getId(), "Temp : " + tempScore);
        }
        // real score
        totalActivityGrade /= (double) numberOfActivity;
        Log.i("Student : " + student.getId(), "Total : " + totalActivityGrade);
        Log.i("Student : " + student.getId(), "Grade ID : " + grade.getId());
        // 
        grade.setActivityScore(totalActivityGrade);
        grade.setTotalScore(grade.getTotalScore() + totalActivityGrade);
        grade = gradeService.updateGradeById(grade.getId(), grade);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : Activity(com.remswork.project.alice.model.Activity)

Example 8 with Activity

use of com.remswork.project.alice.model.Activity in project classify-system by anverliedoit.

the class ActivityAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(ActivityViewHolder holder, int position) {
    Activity activity = activityList.get(position);
    holder.setView(activity, position);
}
Also used : Activity(com.remswork.project.alice.model.Activity)

Example 9 with Activity

use of com.remswork.project.alice.model.Activity in project classify-system by anverliedoit.

the class ActivityResource method getActivityList.

@GET
public Response getActivityList() {
    try {
        List<Activity> activityList;
        ActivityResourceLinks resourceLinks = new ActivityResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        if (classId != 0 && termId != 0)
            activityList = activityService.getActivityListByClassId(classId, termId);
        else if (classId != 0)
            activityList = activityService.getActivityListByClassId(classId);
        else if (studentId != 0 && termId != 0)
            activityList = activityService.getActivityListByStudentId(studentId, termId);
        else if (studentId != 0)
            activityList = activityService.getActivityListByStudentId(studentId);
        else
            activityList = activityService.getActivityList();
        for (Activity activity : activityList) {
            activity.addLink(resourceLinks.self(activity.getId()));
            if (activity.get_class() != null)
                activity.get_class().addLink(classResourceLinks.self(activity.get_class().getId()));
        }
        GenericEntity<List<Activity>> entity = new GenericEntity<List<Activity>>(activityList) {
        };
        return Response.status(Response.Status.OK).entity(entity).build();
    } catch (GradingFactorException e) {
        e.printStackTrace();
        Message message = new Message(404, "Not Found", e.getMessage());
        return Response.status(Response.Status.NOT_FOUND).entity(message).build();
    }
}
Also used : ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) Message(com.remswork.project.alice.model.support.Message) ActivityResourceLinks(com.remswork.project.alice.resource.links.ActivityResourceLinks) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) Activity(com.remswork.project.alice.model.Activity) List(java.util.List)

Example 10 with Activity

use of com.remswork.project.alice.model.Activity in project classify-system by anverliedoit.

the class GradeResultActivity method loadBigData.

public void loadBigData() {
    // final long studentId = 462;
    final long classId = 1270;
    try {
        for (Student student : classService.getStudentList(classId)) {
            final long studentId = student.getId();
            Log.i("STUDENTIDdddddd", studentId + "");
            new Thread(new Runnable() {

                @Override
                public void run() {
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            try {
                                final List<Activity> activityList = activityService.getActivityListByClassId(classId);
                                final double[] fActivity = new double[activityList.size()];
                                double tempTotal = 0;
                                for (int i = 0; i < fActivity.length; i++) {
                                    final double total = activityList.get(i).getItemTotal();
                                    final double score = activityService.getActivityResultByActivityAndStudentId(activityList.get(i).getId(), studentId).getScore();
                                    fActivity[i] = (score / total) * 100;
                                }
                                for (int i = 0; i < fActivity.length; i++) tempTotal += fActivity[i];
                                // after looping
                                tempTotal /= fActivity.length;
                                activityGrade = tempTotal;
                                // notify finish
                                gradeIsReadyAct = true;
                                if (isReady())
                                    notifyChange();
                            } catch (GradingFactorException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            try {
                                final List<Assignment> assignmentList = assignmentService.getAssignmentListByClassId(classId);
                                final double[] fAssignment = new double[assignmentList.size()];
                                double tempTotal = 0;
                                for (int i = 0; i < fAssignment.length; i++) {
                                    final double total = assignmentList.get(i).getItemTotal();
                                    final double score = assignmentService.getAssignmentResultByAssignmentAndStudentId(assignmentList.get(i).getId(), studentId).getScore();
                                    fAssignment[i] = (score / total) * 100;
                                }
                                for (int i = 0; i < fAssignment.length; i++) tempTotal += fAssignment[i];
                                // after looping
                                tempTotal /= fAssignment.length;
                                assignmentGrade = tempTotal;
                                // notify finish
                                gradeIsReadyAss = true;
                                if (isReady())
                                    notifyChange();
                            } catch (GradingFactorException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            try {
                                final List<Attendance> attendanceList = attendanceService.getAttendanceListByClassId(classId);
                                final double[] fAttendance = new double[attendanceList.size()];
                                double tempTotal = 0;
                                for (int i = 0; i < fAttendance.length; i++) {
                                    final double total = 1;
                                    final double score = attendanceService.getAttendanceResultByAttendanceAndStudentId(attendanceList.get(i).getId(), studentId).getStatus() == 1 ? 1 : 0;
                                    fAttendance[i] = (score / total) * 100;
                                }
                                for (int i = 0; i < fAttendance.length; i++) tempTotal += fAttendance[i];
                                // after looping
                                tempTotal /= fAttendance.length;
                                attendanceGrade = tempTotal;
                                // notify finish
                                gradeIsReadyAtt = true;
                                if (isReady())
                                    notifyChange();
                            } catch (GradingFactorException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            try {
                                final List<Exam> examList = examService.getExamListByClassId(classId);
                                final double[] fExam = new double[examList.size()];
                                double tempTotal = 0;
                                for (int i = 0; i < fExam.length; i++) {
                                    final double total = examList.get(i).getItemTotal();
                                    final double score = examService.getExamResultByExamAndStudentId(examList.get(i).getId(), studentId).getScore();
                                    fExam[i] = (score / total) * 100;
                                }
                                for (int i = 0; i < fExam.length; i++) tempTotal += fExam[i];
                                // after looping
                                tempTotal /= fExam.length;
                                examGrade = tempTotal;
                                // notify finish
                                gradeIsReadyExa = true;
                                if (isReady())
                                    notifyChange();
                            } catch (GradingFactorException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            try {
                                final List<Project> projectList = projectService.getProjectListByClassId(classId);
                                final double[] fProject = new double[projectList.size()];
                                double tempTotal = 0;
                                for (int i = 0; i < fProject.length; i++) {
                                    final double total = projectList.get(i).getItemTotal();
                                    final double score = projectService.getProjectResultByProjectAndStudentId(projectList.get(i).getId(), studentId).getScore();
                                    fProject[i] = (score / total) * 100;
                                }
                                for (int i = 0; i < fProject.length; i++) tempTotal += fProject[i];
                                // after looping
                                tempTotal /= fProject.length;
                                projectGrade = tempTotal;
                                // notify finish
                                gradeIsReadyPro = true;
                                if (isReady())
                                    notifyChange();
                            } catch (GradingFactorException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            try {
                                final List<Quiz> quizList = quizService.getQuizListByClassId(classId);
                                final double[] fQuiz = new double[quizList.size()];
                                double tempTotal = 0;
                                for (int i = 0; i < fQuiz.length; i++) {
                                    final double total = quizList.get(i).getItemTotal();
                                    final double score = quizService.getQuizResultByQuizAndStudentId(quizList.get(i).getId(), studentId).getScore();
                                    fQuiz[i] = (score / total) * 100;
                                }
                                for (int i = 0; i < fQuiz.length; i++) tempTotal += fQuiz[i];
                                // after looping
                                tempTotal /= fQuiz.length;
                                quizGrade = tempTotal;
                                // notify finish
                                gradeIsReadyQui = true;
                                if (isReady())
                                    notifyChange();
                            } catch (GradingFactorException e) {
                                e.printStackTrace();
                            }
                        }
                    }).start();
                }
            }).start();
        }
    } catch (ClassException e) {
        e.printStackTrace();
    }
}
Also used : Attendance(com.remswork.project.alice.model.Attendance) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) AppCompatActivity(android.support.v7.app.AppCompatActivity) Activity(com.remswork.project.alice.model.Activity) ClassException(com.remswork.project.alice.exception.ClassException) Student(com.remswork.project.alice.model.Student) Assignment(com.remswork.project.alice.model.Assignment) Project(com.remswork.project.alice.model.Project) Quiz(com.remswork.project.alice.model.Quiz) Exam(com.remswork.project.alice.model.Exam)

Aggregations

Activity (com.remswork.project.alice.model.Activity)14 GradingFactorException (com.remswork.project.alice.exception.GradingFactorException)11 Message (com.remswork.project.alice.model.support.Message)7 ArrayList (java.util.ArrayList)6 AppCompatActivity (android.support.v7.app.AppCompatActivity)4 Student (com.remswork.project.alice.model.Student)4 ActivityResourceLinks (com.remswork.project.alice.resource.links.ActivityResourceLinks)4 ClassResourceLinks (com.remswork.project.alice.resource.links.ClassResourceLinks)4 List (java.util.List)4 AsyncTask (android.os.AsyncTask)3 CardView (android.support.v7.widget.CardView)3 RecyclerView (android.support.v7.widget.RecyclerView)3 View (android.view.View)3 Button (android.widget.Button)3 CompoundButton (android.widget.CompoundButton)3 TextView (android.widget.TextView)3 ToggleButton (android.widget.ToggleButton)3 Gson (com.google.gson.Gson)3 Grade (com.remswork.project.alice.model.Grade)3 IOException (java.io.IOException)3