예제 #1
0
    /// <summary>
    /// Get existing Student's Google account
    /// </summary>
    /// <param name="googleId"></param>
    /// <returns>Return Student Object</returns>
    public Student GetGoogleStudent(string googleId)
    {
        BaseDaoImpl <Student> baseDao = new BaseDaoImpl <Student>();
        string  query   = String.Format("SELECT * FROM Student WHERE GoogleAccountId = {0}", googleId);
        Student student = baseDao.RetrieveQuery(query);

        return(student);
    }
예제 #2
0
    /// <summary>
    /// Get existing Student's Facebook account
    /// </summary>
    /// <param name="fbId"></param>
    /// <returns>Retrun Student Object</returns>
    public Student GetFacebookStudent(string fbId)
    {
        BaseDaoImpl <Student> baseDao = new BaseDaoImpl <Student>();
        string  query   = String.Format("SELECT * FROM Student WHERE FacebookAccountId = {0}", fbId);
        Student student = baseDao.RetrieveQuery(query);

        return(student);
    }
    /// <summary>
    /// Get Monster that belongs to selected CustomLevel
    /// </summary>
    /// <param name="customLevelId"></param>
    /// <returns>Return Monster object</returns>
    public Monster GetCustomLevelMonster(int customLevelId)
    {
        BaseDaoImpl <Monster> baseDao = new BaseDaoImpl <Monster>();
        string query = String.Format("SELECT m.MonsterId, m.MonsterName FROM CustomLevel cl NATURAL JOIN Monster m " +
                                     "WHERE cl.CustomLevelId = {0}", customLevelId);
        Monster monster = baseDao.RetrieveQuery(query);

        return(monster);
    }
예제 #4
0
    /// <summary>
    /// Get Monster which belongs to the assignment
    /// </summary>
    /// <param name="assignmentId"></param>
    /// <returns>Return Monster object based on assignmentId</returns>
    public Monster GetAssignmentMonster(int assignmentId)
    {
        BaseDaoImpl <Monster> baseDao = new BaseDaoImpl <Monster>();
        string query = String.Format("SELECT m.MonsterId, m.MonsterName FROM Assignment a NATURAL JOIN Monster m " +
                                     "WHERE a.AssignmentId = {0}", assignmentId);
        Monster monster = baseDao.RetrieveQuery(query);

        return(monster);
    }
예제 #5
0
    /// <summary>
    /// Get Student's character
    /// </summary>
    /// <param name="studentId"></param>
    /// <returns>Return Character object</returns>
    public Character GetCharacter(int studentId)
    {
        BaseDaoImpl <Character> baseDao = new BaseDaoImpl <Character>();
        string query = String.Format("SELECT c.CharId, c.CharName, c.CharSkill FROM Student s "
                                     + " INNER JOIN Characters c ON s.CharId = c.CharId WHERE s.StudentID = {0}", studentId);
        Character character = baseDao.RetrieveQuery(query);

        return(character);
    }
예제 #6
0
    /// <summary>
    /// Get the total number of CompletedWorld for the Student
    /// </summary>
    /// <returns>Return the total count of Completed Worlds</returns>
    public int GetCompletedWorldCount()
    {
        string query = String.Format("SELECT COUNT(1) FROM World_LastSection_LastLevel w, StudentScore s " +
                                     "WHERE s.StudentId = {0} AND w.WorldId = s.WorldId AND w.LastSectionId = s.SectionId AND w.LastLevelId = s.LevelId;"
                                     , Global.StudentId);

        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();

        return(baseDao.RetrieveQuery(query));
    }
    /// <summary>
    /// Get the CustomLevelId
    /// </summary>
    /// <param name="option1"></param>
    /// <param name="option2"></param>
    /// <param name="option3"></param>
    /// <param name="correctOption"></param>
    /// <param name="questionTitle"></param>
    /// <returns> Return the acquired CustomLevelId</returns>
    private int GetCustomLevelId(string option1, string option2, string option3, string correctOption, string questionTitle)
    {
        string query = String.Format(
            "SELECT DISTINCT CustomLevelId FROM Question NATURAL JOIN CustomLevel " +
            "WHERE StudentId = {0} AND CustomLevelName = '{1}' AND QuestionTitle = '{2}' " +
            "AND Option1 = '{3}' AND Option2 = '{4}' AND Option3 = '{5}' AND CorrectOption = '{6}' " +
            "AND MonsterId = {7} AND TimeLimit = {8};",
            Global.StudentId, levelName, questionTitle, option1,
            option2, option3, correctOption, monsterId, timeLimit);

        BaseDaoImpl <int> baseDao = new BaseDaoImpl <int>();
        int customLevelId         = baseDao.RetrieveQuery(query);

        return(customLevelId);
    }
    /// <summary>
    /// Check database for existing Level Name
    /// </summary>
    /// <param name="name"></param>
    /// <returns>Return -1 if there is existing level name, else return 1</returns>
    public static int CheckValidLevelName(string name)
    {
        string query = String.Format("SELECT CustomLevelName FROM CustomLevel cl WHERE StudentId = '{0}' AND CustomLevelName = '{1}'; ", Global.StudentId, name);
        BaseDaoImpl <string> baseDao = new BaseDaoImpl <string>();

        name = baseDao.RetrieveQuery(query);

        if (name == null)
        {
            return(1);
        }
        else
        {
            return(-1);
        }
    }
예제 #9
0
    /// <summary>
    /// Check database for existing level name
    /// </summary>
    /// <param name="oldName"></param>
    /// <param name="newName"></param>
    /// <returns>Return -1 if there is existing level name, else return 1 </returns>
    public static int CheckValidLevelName(string oldName, string newName)
    {
        //student
        string query = String.Format("SELECT CustomLevelName FROM(SELECT * FROM CustomLevel c2 WHERE c2.CustomLevelName <> '{0}') AS c " +
                                     "WHERE c.StudentId = {1} AND c.CustomLevelName = '{2}'; ", oldName, Global.StudentId, newName);

        //teacher

        /*string query = String.Format("SELECT AssignmentName FROM(SELECT * FROM `Assignment` a2 WHERE a2.AssignmentName <> '{1}') AS a " +
         *      "WHERE TeacherId = {0} AND AssignmentName = '{1}'; ", Global.TeacherId, name);*/

        BaseDaoImpl <string> baseDao = new BaseDaoImpl <string>();
        string name = baseDao.RetrieveQuery(query);

        if (name == null)
        {
            return(1);
        }
        return(-1);
    }