Beispiel #1
0
        /// <summary>
        /// Submits the homework.
        /// </summary>
        /// <param name="assignementId">The assignement identifier.</param>
        /// <param name="answer">The answer.</param>
        /// <exception cref="CustomException">
        /// </exception>
        public void SubmitHomework(int assignementId, Answers answer)
        {
            try {
                using (var db = new ELearningDatabaseEntities()) {
                    HomeworkAssignements ha = db.HomeworkAssignements
                                              .Where(a => a.AssignementId == assignementId)
                                              .First();

                    //if answer doesn't already exist
                    if (ha.AnswerId == null)
                    {
                        //add the new answer
                        db.Answers.Add(answer);
                        db.SaveChanges();

                        //add the newly created answer to the homework
                        ha.AnswerId = answer.AnswerId;
                        db.HomeworkAssignements.Attach(ha);
                        db.Entry(ha).State = System.Data.EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        //else only update the existing answer
                        Answers ans = db.Answers
                                      .Where(a => a.AnswerId == ha.AnswerId)
                                      .First();
                        ans.AnswerValue = answer.AnswerValue;
                        db.Answers.Attach(ans);
                        db.Entry(ans).State = System.Data.EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
            catch (ArgumentNullException ane) {
                throw new CustomException(ane.Message);
            }
            catch (InvalidOperationException ex) {
                throw new CustomException(ex.Message);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Grades the homework.
        /// </summary>
        /// <param name="grade">The grade.</param>
        /// <param name="dto">The homework grade dto.</param>
        /// <exception cref="CustomException">
        /// </exception>
        public void GradeHomework(Grades grade, HomeworkGradeDTO dto)
        {
            try {
                using (var db = new ELearningDatabaseEntities()) {
                    HomeworkAssignements ha = db.HomeworkAssignements
                                              .Where(h => h.AssignementId == dto.AssignementId)
                                              .First();

                    //if the homework was already graded, we just update the grade value
                    if (ha.GradeId != null && ha.GradeId > 0)
                    {
                        Grades gr = db.Grades
                                    .Where(g => g.GradeId == ha.GradeId)
                                    .First();
                        gr.GradeValue    = grade.GradeValue;
                        gr.Gradedatetime = grade.Gradedatetime;
                        db.Grades.Attach(gr);
                        db.Entry(gr).State = System.Data.EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        //add the new grade
                        db.Grades.Add(grade);
                        db.SaveChanges();

                        //attach the grade to the homework
                        ha.GradeId = grade.GradeId;
                        db.HomeworkAssignements.Attach(ha);
                        db.Entry(ha).State = System.Data.EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
            catch (ArgumentNullException ane) {
                throw new CustomException(ane.Message);
            }
            catch (InvalidOperationException ioe) {
                throw new CustomException(ioe.Message);
            }
        }
Beispiel #3
0
 /// <summary>
 /// Edits the specified course.
 /// </summary>
 /// <param name="course">The course.</param>
 /// <exception cref="CustomException"></exception>
 public void EditCourse(Courses course)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Courses.Attach(course);
             db.Entry(course).State = System.Data.EntityState.Modified;
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #4
0
 /// <summary>
 /// Edits the homework.
 /// </summary>
 /// <param name="hw">The hw.</param>
 /// <exception cref="CustomException"></exception>
 public void EditHomework(Homeworks hw)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Homeworks.Attach(hw);
             db.Entry(hw).State = System.Data.EntityState.Modified;
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
 /// <summary>
 /// Edits the group.
 /// </summary>
 /// <param name="group">The group.</param>
 /// <exception cref="CustomException"></exception>
 public void EditGroup(Groups group)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Groups.Attach(group);
             db.Entry(group).State = System.Data.EntityState.Modified;
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ioe) {
         throw new CustomException(ioe.Message);
     }
 }
Beispiel #6
0
 /// <summary>
 /// Updates the user.
 /// </summary>
 /// <param name="user">The user.</param>
 /// <exception cref="CustomException"></exception>
 public void UpdateUser(Users user)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             if (user != null)
             {
                 db.Users.Attach(user);
                 db.Entry(user).State = EntityState.Modified;
                 db.SaveChanges();
             }
         }
     }
     catch (ArgumentNullException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #7
0
 /// <summary>
 /// Edit a category from the specified Forum
 /// </summary>
 /// <param name="forum"></param>
 public void EditCategory(Forums forum)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Forums.Attach(forum);
             db.Entry(forum).State = System.Data.EntityState.Modified;
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ane) {
         throw new CustomException(ane.Message);
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #8
0
        /// <summary>
        /// Update a message in a forum
        /// </summary>
        /// <param name="message"></param>

        public void UpdateMessage(Messages message)
        {
            try {
                using (var db = new ELearningDatabaseEntities()) {
                    db.Messages.Attach(message);
                    db.Entry(message).State = System.Data.EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch (ArgumentNullException ane) {
                throw new CustomException(ane.Message);
            }
            catch (InvalidOperationException ioe) {
                throw new CustomException(ioe.Message);
            }
        }
Beispiel #9
0
        /// <summary>
        /// Assigns the homework.
        /// </summary>
        /// <param name="dto"></param>
        /// <exception cref="CustomException">
        /// </exception>
        public void AssignHomework(HomeworkAssignementDTO dto)
        {
            try {
                using (var db = new ELearningDatabaseEntities()) {
                    HomeworkAssignements ha = db.HomeworkAssignements
                                              .Where(a => a.AssignementId == dto.AssignementId)
                                              .FirstOrDefault();
                    if (ha != null)
                    {
                        if (dto.StudentId != null && dto.StudentId > 0)
                        {
                            ha.StudentId = dto.StudentId;
                        }
                        if (dto.GroupId != null && dto.GroupId > 0)
                        {
                            ha.GroupId = dto.GroupId;
                        }

                        db.HomeworkAssignements.Attach(ha);
                        db.Entry(ha).State = System.Data.EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        HomeworkAssignements newAssignement = new HomeworkAssignements();
                        newAssignement.AnswerId       = dto.AnswerId;
                        newAssignement.AssignementId  = dto.AssignementId;
                        newAssignement.CourseId       = dto.CourseId;
                        newAssignement.CourseModuleId = dto.CourseModuleId;
                        newAssignement.GradeId        = dto.GradeId;
                        newAssignement.GroupId        = dto.GroupId;
                        newAssignement.HomeworkId     = dto.HomeworkId;
                        newAssignement.StudentId      = dto.StudentId;

                        db.HomeworkAssignements.Add(newAssignement);
                        db.SaveChanges();
                    }
                }
            }
            catch (ArgumentNullException ane) {
                throw new CustomException(ane.Message);
            }
            catch (InvalidOperationException ex) {
                throw new CustomException(ex.Message);
            }
        }