Search in sources :

Example 1 with Quiz

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

the class QuizResource method getQuizById.

@GET
@Path("{quizId}")
public Response getQuizById(@PathParam("quizId") long id) {
    try {
        QuizResourceLinks resourceLinks = new QuizResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        Quiz quiz = quizService.getQuizById(id);
        quiz.addLink(resourceLinks.self(id));
        if (quiz.get_class() != null)
            quiz.get_class().addLink(classResourceLinks.self(quiz.get_class().getId()));
        return Response.status(Response.Status.OK).entity(quiz).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) Quiz(com.remswork.project.alice.model.Quiz) Message(com.remswork.project.alice.model.support.Message) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) QuizResourceLinks(com.remswork.project.alice.resource.links.QuizResourceLinks)

Example 2 with Quiz

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

the class QuizResource method deleteQuizById.

@DELETE
@Path("{quizId}")
public Response deleteQuizById(@PathParam("quizId") long id) {
    try {
        QuizResourceLinks resourceLinks = new QuizResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        Quiz quiz = quizService.deleteQuizById(id);
        quiz.addLink(resourceLinks.self(quiz.getId()));
        if (quiz.get_class() != null)
            quiz.get_class().addLink(classResourceLinks.self(quiz.get_class().getId()));
        return Response.status(Response.Status.OK).entity(quiz).build();
    } catch (GradingFactorException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) Quiz(com.remswork.project.alice.model.Quiz) Message(com.remswork.project.alice.model.support.Message) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) QuizResourceLinks(com.remswork.project.alice.resource.links.QuizResourceLinks)

Example 3 with Quiz

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

the class QuizResource method updateQuizById.

@PUT
@Path("{quizId}")
public Response updateQuizById(@PathParam("quizId") long id, Quiz newQuiz) {
    try {
        QuizResourceLinks resourceLinks = new QuizResourceLinks(uriInfo);
        ClassResourceLinks classResourceLinks = new ClassResourceLinks(uriInfo);
        Quiz quiz;
        if (termId > 0)
            quiz = quizService.updateQuizById(id, newQuiz, classId, termId);
        else
            quiz = quizService.updateQuizById(id, newQuiz, classId);
        quiz.addLink(resourceLinks.self(quiz.getId()));
        if (quiz.get_class() != null)
            quiz.get_class().addLink(classResourceLinks.self(quiz.get_class().getId()));
        return Response.status(Response.Status.OK).entity(quiz).build();
    } catch (GradingFactorException e) {
        e.printStackTrace();
        Message message = new Message(400, "Bad Request", e.getMessage());
        return Response.status(Response.Status.BAD_REQUEST).entity(message).build();
    }
}
Also used : ClassResourceLinks(com.remswork.project.alice.resource.links.ClassResourceLinks) Quiz(com.remswork.project.alice.model.Quiz) Message(com.remswork.project.alice.model.support.Message) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) QuizResourceLinks(com.remswork.project.alice.resource.links.QuizResourceLinks)

Example 4 with Quiz

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

the class QuizInputActivity method onCreate.

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

        @Override
        public void onClick(View v) {
            final long classId = getIntent().getExtras().getLong("classId");
            try {
                Quiz quiz = new Quiz();
                quiz.setTitle(!editTextName.getText().toString().trim().isEmpty() ? editTextName.getText().toString().trim() : "Quiz");
                quiz.setDate(textViewDate.getText().toString());
                if (editTextTotal.getText().toString().equals("")) {
                    toggleButtonhideandshow.setChecked(false);
                    getDialogEmptyTotal.setVisibility(View.VISIBLE);
                    recyclerViewStudentInput.setVisibility(View.GONE);
                    return;
                } else {
                    quiz.setItemTotal(Integer.parseInt(editTextTotal.getText().toString()));
                }
                studentAdapter.setTotalItem(quiz.getItemTotal());
                studentAdapter.onValidate(true);
                if (studentAdapter.isNoError()) {
                    quiz = quizService.addQuiz(quiz, classId, 1L);
                    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);
                        quizService.addQuizResult(score, quiz.getId(), student.getId());
                        // Adding Grade for quiz
                        new Thread(new Runnable() {

                            @Override
                            public void run() {
                                try {
                                    final List<Quiz> quizList = quizService.getQuizListByClassId(classId);
                                    final double[] fQuiz = new double[quizList.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 < fQuiz.length; i++) {
                                        final double total = quizList.get(i).getItemTotal();
                                        final double score = quizService.getQuizResultByQuizAndStudentId(quizList.get(i).getId(), sId).getScore();
                                        fQuiz[i] = (score / total) * 100;
                                    }
                                    for (int i = 0; i < fQuiz.length; i++) tempTotal += fQuiz[i];
                                    // after looping
                                    if (fQuiz.length > 0)
                                        tempTotal /= fQuiz.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(QuizInputActivity.this, "Success", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(QuizInputActivity.this, "Failed", Toast.LENGTH_LONG).show();
                    dialogFailed.setVisibility(View.VISIBLE);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}
Also used : Quiz(com.remswork.project.alice.model.Quiz) Button(android.widget.Button) ToggleButton(android.widget.ToggleButton) CompoundButton(android.widget.CompoundButton) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) 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 5 with Quiz

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

the class QuizInputActivityF method onCreate.

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

        @Override
        public void onClick(View v) {
            final long classId = getIntent().getExtras().getLong("classId");
            try {
                Quiz quiz = new Quiz();
                quiz.setTitle(!editTextName.getText().toString().trim().isEmpty() ? editTextName.getText().toString().trim() : "Quiz");
                quiz.setDate(textViewDate.getText().toString());
                if (editTextTotal.getText().toString().equals("")) {
                    toggleButtonhideandshow.setChecked(false);
                    getDialogEmptyTotal.setVisibility(View.VISIBLE);
                    recyclerViewStudentInput.setVisibility(View.GONE);
                    return;
                } else {
                    quiz.setItemTotal(Integer.parseInt(editTextTotal.getText().toString()));
                }
                studentAdapter.setTotalItem(quiz.getItemTotal());
                studentAdapter.onValidate(true);
                if (studentAdapter.isNoError()) {
                    quiz = quizService.addQuiz(quiz, classId, 1L);
                    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);
                        quizService.addQuizResult(score, quiz.getId(), student.getId());
                        // Adding Grade for quiz
                        new Thread(new Runnable() {

                            @Override
                            public void run() {
                                try {
                                    final List<Quiz> quizList = quizService.getQuizListByClassId(classId);
                                    final double[] fQuiz = new double[quizList.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 < fQuiz.length; i++) {
                                        final double total = quizList.get(i).getItemTotal();
                                        final double score = quizService.getQuizResultByQuizAndStudentId(quizList.get(i).getId(), sId).getScore();
                                        fQuiz[i] = (score / total) * 100;
                                    }
                                    for (int i = 0; i < fQuiz.length; i++) tempTotal += fQuiz[i];
                                    // after looping
                                    if (fQuiz.length > 0)
                                        tempTotal /= fQuiz.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(QuizInputActivityF.this, "Success", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(QuizInputActivityF.this, "Failed", Toast.LENGTH_LONG).show();
                    dialogFailed.setVisibility(View.VISIBLE);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}
Also used : Quiz(com.remswork.project.alice.model.Quiz) Button(android.widget.Button) ToggleButton(android.widget.ToggleButton) CompoundButton(android.widget.CompoundButton) GradingFactorException(com.remswork.project.alice.exception.GradingFactorException) 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)

Aggregations

Quiz (com.remswork.project.alice.model.Quiz)13 GradingFactorException (com.remswork.project.alice.exception.GradingFactorException)11 Message (com.remswork.project.alice.model.support.Message)8 ArrayList (java.util.ArrayList)6 AsyncTask (android.os.AsyncTask)4 Gson (com.google.gson.Gson)4 ClassResourceLinks (com.remswork.project.alice.resource.links.ClassResourceLinks)4 QuizResourceLinks (com.remswork.project.alice.resource.links.QuizResourceLinks)4 IOException (java.io.IOException)4 InputStream (java.io.InputStream)4 HttpURLConnection (java.net.HttpURLConnection)4 URL (java.net.URL)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 List (java.util.List)3 CardView (android.support.v7.widget.CardView)2 RecyclerView (android.support.v7.widget.RecyclerView)2 View (android.view.View)2