Search in sources :

Example 6 with Attendance

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

the class AttendanceInputActivity method onCreate.

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_z_input_attendace);
    classId = getIntent().getExtras().getLong("classId");
    termId = getIntent().getExtras().getLong("termId");
    init();
    btnBack.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = getIntent().setClass(AttendanceInputActivity.this, AttendanceAddActivity.class);
            startActivity(intent);
            finish();
        }
    });
    btnOk.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = getIntent().setClass(AttendanceInputActivity.this, AttendanceAddActivity.class);
            startActivity(intent);
            finish();
        }
    });
    btnTryagain.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            cardmessage.setVisibility(View.GONE);
            cardViewFailed.setVisibility(View.GONE);
            hidesomthing.setVisibility(View.VISIBLE);
        }
    });
    buttonSubmit.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            switch(v.getId()) {
                case btn_submit3_attendance:
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            new Handler(getMainLooper()).post(new Runnable() {

                                @Override
                                public void run() {
                                    try {
                                        Attendance attendance = new Attendance();
                                        attendance.setTitle(!editTextName.getText().toString().trim().isEmpty() ? editTextName.getText().toString().trim() : "Attendance");
                                        attendance.setDate(textViewDate.getText().toString());
                                        listener.onValidate();
                                        if (attendanceInputAdapter.getErrorCount() == 0) {
                                            rlDisruptor.setVisibility(View.VISIBLE);
                                            attendance = attendanceService.addAttendance(attendance, classId, termId);
                                            for (int i = 0; i < studentList.size(); i++) {
                                                final long studentId = studentList.get(i).getId();
                                                int status = attendanceInputAdapter.getStatus(i);
                                                Student student = studentList.get(i);
                                                attendanceService.addAttendanceResult(status, attendance.getId(), student.getId());
                                                // Adding Grade for activity
                                                new Thread(new Runnable() {

                                                    @Override
                                                    public void run() {
                                                        try {
                                                            final List<Attendance> attendanceList = attendanceService.getAttendanceListByClassId(classId);
                                                            final double[] fAttendance = new double[attendanceList.size()];
                                                            final long sId = studentId;
                                                            double tempTotal = 0;
                                                            try {
                                                                List<Grade> tempList = gradeService.getGradeListByClass(classId, sId, 1L);
                                                                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, 1L);
                                                            }
                                                            final Grade lGrade = grade;
                                                            final long gradeId = grade.getId();
                                                            for (int i = 0; i < fAttendance.length; i++) {
                                                                final double total = 1;
                                                                final double status = attendanceService.getAttendanceResultByAttendanceAndStudentId(attendanceList.get(i).getId(), sId).getStatus();
                                                                final double score = (status == 1 ? 1 : 0);
                                                                fAttendance[i] = (score / total) * 100;
                                                            }
                                                            for (int i = 0; i < fAttendance.length; i++) tempTotal += fAttendance[i];
                                                            // after looping
                                                            if (fAttendance.length > 0)
                                                                tempTotal /= fAttendance.length;
                                                            else
                                                                tempTotal = 0;
                                                            lGrade.setActivityScore(tempTotal);
                                                            lGrade.setTotalScore(lGrade.getTotalScore() + tempTotal);
                                                            gradeService.updateGradeById(gradeId, lGrade);
                                                        } catch (GradingFactorException e) {
                                                            e.printStackTrace();
                                                        }
                                                    }
                                                }).start();
                                            }
                                            cardmessage.setVisibility(View.VISIBLE);
                                            Toast.makeText(AttendanceInputActivity.this, "Success", Toast.LENGTH_LONG).show();
                                            cardViewSucces.setVisibility(View.VISIBLE);
                                        } else {
                                            cardmessage.setVisibility(View.VISIBLE);
                                            txMessageStatus.setText("Found " + attendanceInputAdapter.getErrorCount() + " errors");
                                            cardViewFailed.setVisibility(View.VISIBLE);
                                            hidesomthing.setVisibility(View.GONE);
                                        }
                                        rlDisruptor.setVisibility(View.GONE);
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                }
                            });
                        }
                    }).start();
                    break;
            }
        }
    });
}
Also used : Attendance(com.remswork.project.alice.model.Attendance) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) Handler(android.os.Handler) Intent(android.content.Intent) 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) Button(android.widget.Button)

Example 7 with Attendance

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

the class AttendanceAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(AttendanceViewHolder holder, int position) {
    Attendance attendance = attendanceList.get(position);
    holder.setView(attendance, position);
}
Also used : Attendance(com.remswork.project.alice.model.Attendance)

Example 8 with Attendance

use of com.remswork.project.alice.model.Attendance 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)

Example 9 with Attendance

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

the class AttendanceInputActivityF method onCreate.

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_z_input_attendace);
    classId = getIntent().getExtras().getLong("classId");
    termId = getIntent().getExtras().getLong("termId");
    init();
    btnBack.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = getIntent().setClass(AttendanceInputActivityF.this, AttendanceAddActivityF.class);
            startActivity(intent);
            finish();
        }
    });
    btnOk.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent intent = getIntent().setClass(AttendanceInputActivityF.this, AttendanceAddActivityF.class);
            startActivity(intent);
            finish();
        }
    });
    btnTryagain.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            cardmessage.setVisibility(View.GONE);
            cardViewFailed.setVisibility(View.GONE);
            hidesomthing.setVisibility(View.VISIBLE);
        }
    });
    buttonSubmit.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            switch(v.getId()) {
                case btn_submit3_attendance:
                    new Thread(new Runnable() {

                        @Override
                        public void run() {
                            new Handler(getMainLooper()).post(new Runnable() {

                                @Override
                                public void run() {
                                    try {
                                        Attendance attendance = new Attendance();
                                        attendance.setTitle(!editTextName.getText().toString().trim().isEmpty() ? editTextName.getText().toString().trim() : "Attendance");
                                        attendance.setDate(textViewDate.getText().toString());
                                        listener.onValidate();
                                        if (attendanceInputAdapter.getErrorCount() == 0) {
                                            rlDisruptor.setVisibility(View.VISIBLE);
                                            attendance = attendanceService.addAttendance(attendance, classId, termId);
                                            for (int i = 0; i < studentList.size(); i++) {
                                                final long studentId = studentList.get(i).getId();
                                                int status = attendanceInputAdapter.getStatus(i);
                                                Student student = studentList.get(i);
                                                attendanceService.addAttendanceResult(status, attendance.getId(), student.getId());
                                                // Adding Grade for activity
                                                new Thread(new Runnable() {

                                                    @Override
                                                    public void run() {
                                                        try {
                                                            final List<Attendance> attendanceList = attendanceService.getAttendanceListByClassId(classId);
                                                            final double[] fAttendance = new double[attendanceList.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();
                                                            for (int i = 0; i < fAttendance.length; i++) {
                                                                final double total = 1;
                                                                final double status = attendanceService.getAttendanceResultByAttendanceAndStudentId(attendanceList.get(i).getId(), sId).getStatus();
                                                                final double score = (status == 1 ? 1 : 0);
                                                                fAttendance[i] = (score / total) * 100;
                                                                Log.i("Attendance[" + i + "] :", fAttendance[i] + "");
                                                            }
                                                            for (int i = 0; i < fAttendance.length; i++) tempTotal += fAttendance[i];
                                                            // after looping
                                                            if (fAttendance.length > 0)
                                                                tempTotal /= fAttendance.length;
                                                            else
                                                                tempTotal = 0;
                                                            lGrade.setActivityScore(tempTotal);
                                                            lGrade.setTotalScore(lGrade.getTotalScore() + tempTotal);
                                                            gradeService.updateGradeById(gradeId, lGrade);
                                                        } catch (GradingFactorException e) {
                                                            e.printStackTrace();
                                                        }
                                                    }
                                                }).start();
                                            }
                                            cardmessage.setVisibility(View.VISIBLE);
                                            // txMessageStatus.setText("Success");
                                            Toast.makeText(AttendanceInputActivityF.this, "Success", Toast.LENGTH_LONG).show();
                                            cardViewSucces.setVisibility(View.VISIBLE);
                                        } else {
                                            cardmessage.setVisibility(View.VISIBLE);
                                            txMessageStatus.setText("Found " + attendanceInputAdapter.getErrorCount() + " errors");
                                            cardViewFailed.setVisibility(View.VISIBLE);
                                            hidesomthing.setVisibility(View.GONE);
                                        }
                                        rlDisruptor.setVisibility(View.GONE);
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                }
                            });
                        }
                    }).start();
                    break;
            }
        }
    });
}
Also used : Attendance(com.remswork.project.alice.model.Attendance) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) Handler(android.os.Handler) Intent(android.content.Intent) 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) Button(android.widget.Button)

Example 10 with Attendance

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

the class AttendanceServiceImpl method getAttendanceListByStudentAndSubjectId.

@Deprecated
public List<Attendance> getAttendanceListByStudentAndSubjectId(final long studentId, final long subjectId) throws GradingFactorException {
    final List<Attendance> attendanceList = new ArrayList<>();
    try {
        return new AsyncTask<String, List<Attendance>, List<Attendance>>() {

            @Override
            protected List<Attendance> doInBackground(String... args) {
                try {
                    String link = "".concat(domain).concat("/").concat(baseUri).concat("/").concat(payload).concat("?studentId=").concat(String.valueOf(studentId)).concat("&subjectId=").concat(String.valueOf(subjectId));
                    URL url = new URL(link);
                    Gson gson = new Gson();
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                    httpURLConnection.setRequestMethod("GET");
                    httpURLConnection.setRequestProperty("Content-Type", "application/json");
                    httpURLConnection.setRequestProperty("Accept", "application/json");
                    httpURLConnection.connect();
                    if (httpURLConnection.getResponseCode() == 200) {
                        InputStream inputStream = httpURLConnection.getInputStream();
                        String jsonData = "";
                        int data;
                        while ((data = inputStream.read()) != -1) {
                            jsonData += (char) data;
                        }
                        JSONArray jsonArray = new JSONArray(jsonData);
                        for (int ctr = 0; ctr < jsonArray.length(); ctr++) {
                            attendanceList.add(gson.fromJson(jsonArray.get(ctr).toString(), Attendance.class));
                        }
                        return attendanceList;
                    } else if (httpURLConnection.getResponseCode() == 404) {
                        InputStream inputStream = httpURLConnection.getInputStream();
                        String jsonData = "";
                        int data;
                        while ((data = inputStream.read()) != -1) {
                            jsonData += (char) data;
                        }
                        Message message = gson.fromJson(jsonData, Message.class);
                        Log.i("ServiceTAG", "Service : Attendance");
                        Log.i("ServiceTAG", "Status : " + message.getStatus());
                        Log.i("ServiceTAG", "Type : " + message.getType());
                        Log.i("ServiceTAG", "Message : " + message.getMessage());
                        return attendanceList;
                    } else
                        throw new GradingFactorException("Server Error");
                } catch (GradingFactorException e) {
                    e.printStackTrace();
                    return null;
                } catch (IOException e) {
                    e.printStackTrace();
                    return null;
                } catch (JSONException e) {
                    e.printStackTrace();
                    return null;
                }
            }
        }.execute((String) null).get();
    } catch (InterruptedException e) {
        e.printStackTrace();
        return null;
    } catch (ExecutionException e) {
        e.printStackTrace();
        return null;
    }
}
Also used : Attendance(com.remswork.project.alice.model.Attendance) Message(com.remswork.project.alice.model.support.Message) InputStream(java.io.InputStream) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) ArrayList(java.util.ArrayList) AsyncTask(android.os.AsyncTask) JSONArray(org.json.JSONArray) Gson(com.google.gson.Gson) JSONException(org.json.JSONException) IOException(java.io.IOException) URL(java.net.URL) HttpURLConnection(java.net.HttpURLConnection) ExecutionException(java.util.concurrent.ExecutionException)

Aggregations

Attendance (com.remswork.project.alice.model.Attendance)12 GradingFactorException (com.remswork.project.alice.exception.GradingFactorException)11 Message (com.remswork.project.alice.model.support.Message)8 AsyncTask (android.os.AsyncTask)4 Gson (com.google.gson.Gson)4 AttendanceResourceLinks (com.remswork.project.alice.resource.links.AttendanceResourceLinks)4 ClassResourceLinks (com.remswork.project.alice.resource.links.ClassResourceLinks)4 IOException (java.io.IOException)4 InputStream (java.io.InputStream)4 HttpURLConnection (java.net.HttpURLConnection)4 URL (java.net.URL)4 ArrayList (java.util.ArrayList)4 ExecutionException (java.util.concurrent.ExecutionException)4 JSONArray (org.json.JSONArray)4 JSONException (org.json.JSONException)4 Student (com.remswork.project.alice.model.Student)3 Intent (android.content.Intent)2 Handler (android.os.Handler)2 CardView (android.support.v7.widget.CardView)2 RecyclerView (android.support.v7.widget.RecyclerView)2