/// <summary>
    /// Insert Question into database
    /// </summary>
    /// <param name="option1"></param>
    /// <param name="option2"></param>
    /// <param name="option3"></param>
    /// <param name="option4"></param>
    /// <param name="correctOptionInt"></param>
    /// <param name="questionTitle"></param>
    public void InsertQuestion(string option1, string option2, string option3, string option4, int correctOptionInt, string questionTitle)
    {
        switch (correctOptionInt)
        {
        case 1:
            FormatForDatabaseInsertion(ref option4, ref option1);
            break;

        case 2:
            FormatForDatabaseInsertion(ref option4, ref option2);
            break;

        case 3:
            FormatForDatabaseInsertion(ref option4, ref option3);
            break;

        default:
            break;
        }

        string query = String.Format("INSERT INTO Question(Option1, Option2, Option3, CorrectOption, QuestionTitle) " +
                                     "VALUES('{0}', '{1}', '{2}', '{3}', '{4}')", option1, option2, option3, option4, questionTitle);;
        BaseDaoImpl <Question> baseDao = new BaseDaoImpl <Question>();
        int result        = baseDao.ExecuteQuery(query);
        int questionId    = GetStudentQuestionId(option1, option2, option3, option4, questionTitle);
        int customLevelId = GetCustomLevelId(option1, option2, option3, option4, questionTitle);

        InsertStudentCustomQuestion(questionId, customLevelId);
    }
    /// <summary>
    /// Updates Student's Character
    /// </summary>
    /// <param name="charId"></param>
    /// <param name="studentId"></param>
    /// <returns>Return 1 if update query has executed successfully</returns>
    public int UpdateStudentCharacter(int charId, int studentId)
    {
        BaseDaoImpl <Object> baseDao = new BaseDaoImpl <Object>();
        string query  = "UPDATE Student SET CharId = @CharId WHERE StudentId = @StudentId";
        int    result = baseDao.ExecuteQuery(query, new { CharId = charId, StudentId = studentId });

        return(result);
    }
    /// <summary>
    /// Updates the level name, monster, and time limit
    /// </summary>
    /// <param name="levelName"></param>
    /// <param name="monsterId"></param>
    /// <param name="timeLimit"></param>
    public void UpdateLevelInitInfo(string levelName, int monsterId, int timeLimit)
    {
        string query = String.Format("UPDATE CustomLevel SET CustomLevelName = '{0}', MonsterId = {1}, TimeLimit = {2} WHERE CustomLevelId = {3}; "
                                     , levelName, monsterId, timeLimit, Global.CustomLevelId);

        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();
        int result = baseDao.ExecuteQuery(query);
    }
    /// <summary>
    /// Link questionId and customLevelId in database
    /// </summary>
    /// <param name="questionId"></param>
    /// <param name="customLevelId"></param>
    private void InsertStudentCustomQuestion(int questionId, int customLevelId)
    {
        string query = String.Format("INSERT INTO StudentCustomQuestion(QuestionId, CustomLevelId) " +
                                     "VALUES({0}, {1});", questionId, customLevelId);

        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();
        int result = baseDao.ExecuteQuery(query);
    }
    /// <summary>
    /// Delete selected CustomLevel
    /// </summary>
    /// <param name="customLevelId"></param>
    /// <returns>Return 1 if delete query has executed succesfully</returns>
    public int DeleteCustomLevel(int customLevelId)
    {
        BaseDaoImpl <Object> baseDao = new BaseDaoImpl <Object>();
        string query = String.Format("DELETE FROM CustomLevel WHERE CustomLevelId = @CustomLevelId", customLevelId);

        int result = baseDao.ExecuteQuery(query, new { CustomLevelId = customLevelId });

        return(result);
    }
    /// <summary>
    /// Insert Student record who logged in through Facebook
    /// </summary>
    /// <param name="studentName"></param>
    /// <param name="studentEmail"></param>
    /// <param name="fbId"></param>
    /// <returns>Return int result 1 if insertion query has executed successfully</returns>
    public int InsertFacebookStudent(string studentName, string studentEmail, string fbId)
    {
        BaseDaoImpl <Student> baseDao = new BaseDaoImpl <Student>();
        string query = "INSERT INTO Student (StudentName, StudentEmail, FacebookAccountId) " +
                       "VALUES (@StudentName, @StudentEmail, @FacebookAccountId)";
        int result = baseDao.ExecuteQuery(query, new { StudentName = studentName, StudentEmail = studentEmail, FacebookAccountId = fbId });

        return(result);
    }
    /// <summary>
    /// Insert Student record who logged in through Google
    /// </summary>
    /// <param name="studentName"></param>
    /// <param name="charId"></param>
    /// <param name="studentEmail"></param>
    /// <param name="studentUsername"></param>
    /// <param name="studentPassword"></param>
    /// <returns>Return int result 1 if insertion query has executed successfully</returns>
    public int InsertGoogleStudent(string studentName, string studentEmail, string googleId)
    {
        BaseDaoImpl <Student> baseDao = new BaseDaoImpl <Student>();
        string query = "INSERT INTO Student (StudentName, StudentEmail, GoogleAccountId) " +
                       "VALUES (@StudentName, @StudentEmail, @GoogleAccountId)";
        int result = baseDao.ExecuteQuery(query, new { StudentName = studentName, StudentEmail = studentEmail, GoogleAccountId = googleId });

        return(result);
    }
Beispiel #8
0
    /// <summary>
    /// Insert StudentScore of cleared level
    /// </summary>
    /// <param name="studentId"></param>
    /// <param name="worldId"></param>
    /// <param name="sectionId"></param>
    /// <param name="levelId"></param>
    /// <param name="levelScore"></param>
    /// <returns>Return int result 1 if insertion query has executed successfully</returns>
    public int InsertStudentScore(int studentId, int worldId, int sectionId, int levelId, int levelScore)
    {
        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();
        string            query   = String.Format("INSERT INTO StudentScore (StudentId, WorldId, SectionId, LevelId, LevelScore) " +
                                                  "VALUES (@StudentId, @WorldId, @SectionId, @LevelId, @LevelScore) ON DUPLICATE KEY UPDATE LevelScore = @LevelScore",
                                                  studentId, worldId, sectionId, levelId, levelScore);
        int result = baseDao.ExecuteQuery(query, new { StudentId = studentId, WorldId = worldId, SectionId = sectionId, LevelId = levelId, LevelScore = levelScore });

        return(result);
    }
Beispiel #9
0
    /// <summary>
    /// Insert Student's score of completed Assignment
    /// </summary>
    /// <param name="studentId"></param>
    /// <param name="assignmentId"></param>
    /// <param name="assignmentScore"></param>
    /// <returns>Return int 1 if insertion query executed successfully</returns>
    public int InsertAssignmentScore(int studentId, int assignmentId, int assignmentScore)
    {
        BaseDaoImpl <Object> baseDao = new BaseDaoImpl <Object>();
        string query = "INSERT INTO AssignmentScore (StudentId , AssignmentId ,Score) " +
                       "VALUES(@StudentId, @AssignmentId, @Score) " +
                       "ON DUPLICATE KEY UPDATE Score = @Score";
        int result = baseDao.ExecuteQuery(query, new { StudentId = studentId, AssignmentId = assignmentId, Score = assignmentScore });

        return(result);
    }
Beispiel #10
0
    /// <summary>
    /// Insert Student's CustomLevelScore of cleared CustomLevel
    /// </summary>
    /// <param name="studentId"></param>
    /// <param name="customLevelId"></param>
    /// <param name="levelScore"></param>
    /// <return>Return 1 if query has executed successfully</returns>
    public int InsertCustomLevelScore(int studentId, int customLevelId, int levelScore)
    {
        BaseDaoImpl <Object> baseDao = new BaseDaoImpl <Object>();
        string query = "INSERT INTO CustomLevelScore (StudentId , CustomLevelId ,LevelScore) " +
                       "VALUES(@StudentId, @CustomLevelId, @LevelScore) " +
                       "ON DUPLICATE KEY UPDATE LevelScore = @LevelScore";
        int result = baseDao.ExecuteQuery(query, new { StudentId = studentId, CustomLevelId = customLevelId, LevelScore = levelScore });

        return(result);
    }
    /// <summary>
    /// Insert new custom level into database
    /// </summary>
    /// <param name="levelName"></param>
    /// <param name="monsterId"></param>
    /// <param name="timeLimit"></param>
    public void InsertCustomLevel(string levelName, int monsterId, int timeLimit)
    {
        this.levelName = levelName;
        this.monsterId = monsterId;
        this.timeLimit = timeLimit;

        string query = String.Format("INSERT INTO CustomLevel(StudentId, CustomLevelName, MonsterId, TimeLimit) " +
                                     "VALUES({0}, '{1}', {2}, {3});", Global.StudentId, levelName, monsterId, timeLimit);

        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();
        int result = baseDao.ExecuteQuery(query);
    }
    /// <summary>
    /// Update Question into database
    /// </summary>
    /// <param name="option1"></param>
    /// <param name="option2"></param>
    /// <param name="option3"></param>
    /// <param name="option4"></param>
    /// <param name="correctOptionInt"></param>
    /// <param name="questionTitle"></param>
    /// <param name="questionId"></param>
    public void UpdateQuestion(string option1, string option2, string option3, string option4, int correctOptionInt, string questionTitle, int questionId)
    {
        switch (correctOptionInt)
        {
        case 1:
            FormatForDatabaseInsertion(ref option4, ref option1);
            break;

        case 2:
            FormatForDatabaseInsertion(ref option4, ref option2);
            break;

        case 3:
            FormatForDatabaseInsertion(ref option4, ref option3);
            break;

        default:
            break;
        }


        string query = String.Format("UPDATE Question SET Option1 = '{0}', Option2 = '{1}', " +
                                     "Option3 = '{2}', CorrectOption = '{3}', QuestionTitle = '{4}' " +
                                     "WHERE QuestionId = {5}", option1, option2, option3, option4, questionTitle, levelInfo.Question[questionId].QuestionId);

        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();
        int result = baseDao.ExecuteQuery(query);

        if (result <= 0)
        {
            GD.Print("Error updating question into database.");
        }
        else
        {
            GD.Print("Question updated into database successfully.");
        }
    }