Beispiel #1
0
        public ActionResult Save(User professor, HttpPostedFileBase file, HttpPostedFileBase cv)

        {
            var professorInDb = _context.Users.Single(c => c.Id == professor.Id);

            professorInDb.FullName = professor.FullName;
            professorInDb.Email    = professor.Email;


            if (file != null)
            {
                byte[] imageData = null;
                using (var binary = new BinaryReader(file.InputStream))
                {
                    imageData           = binary.ReadBytes(file.ContentLength);
                    professor.UserPhoto = imageData;
                }
            }

            if (cv != null)
            {
                byte[] cvPdf = null;
                using (var binary = new BinaryReader(cv.InputStream))
                {
                    cvPdf        = binary.ReadBytes(cv.ContentLength);
                    professor.CV = cvPdf;
                }
            }



            _context.SaveChanges();
            return(RedirectToAction("Index", "Professor"));
        }
        /// <summary>
        /// Deletes the group and the members of the group.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <exception cref="CustomException"></exception>
        public void DeleteGroup(int id)
        {
            try {
                using (var db = new ELearningDatabaseEntities()) {
                    //delete the members of the group to be deleted
                    List <GroupMembers> membersOfDeletedGroup = db.GroupMembers
                                                                .Where(m => m.GroupId == id)
                                                                .ToList();
                    foreach (var m in membersOfDeletedGroup)
                    {
                        db.GroupMembers.Remove(m);
                    }
                    db.SaveChanges();

                    //delete the group
                    Groups group = db.Groups
                                   .Where(g => g.GroupId == id)
                                   .First();
                    db.Groups.Remove(group);
                    db.SaveChanges();
                }
            }
            catch (InvalidOperationException ioe) {
                throw new CustomException(ioe.Message);
            }
        }
Beispiel #3
0
 /// <summary>
 /// Deletes the homework.
 /// </summary>
 /// <param name="id">The identifier.</param>
 /// <exception cref="CustomException">
 /// </exception>
 public void DeleteHomework(int id)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             //delete the assignements for the homework
             var assignementsToDelete = db.HomeworkAssignements
                                        .Where(a => a.HomeworkId == id)
                                        .ToList();
             foreach (var a in assignementsToDelete)
             {
                 db.HomeworkAssignements.Remove(a);
             }
             db.SaveChanges();
             //delete the homework
             Homeworks hw = db.Homeworks
                            .Where(h => h.HomeworkId == id)
                            .First();
             db.Homeworks.Remove(hw);
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ane) {
         throw new CustomException(ane.Message);
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #4
0
 /// <summary>
 /// Delete a forum with the specified Id
 /// </summary>
 /// <param name="id"></param>
 public void DeleteForum(int?id)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             List <Messages> messages = db.Messages
                                        .Where(x => x.ForumId == id)
                                        .ToList();
             foreach (Messages m in messages)
             {
                 db.Messages.Remove(m);
                 db.SaveChanges();
             }
             Forums forum = db.Forums
                            .Where(x => x.ForumId == id)
                            .First();
             db.Forums.Remove(forum);
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ane) {
         throw new CustomException(ane.Message);
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
        public IHttpActionResult CreateQuestion(QuestionDto questionDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var question = Mapper.Map <QuestionDto, Question>(questionDto);

            _context.Questions.Add(question);
            _context.SaveChanges();

            questionDto.Id = question.Id;

            return(Created(new Uri(Request.RequestUri + "/" + question.Id), questionDto));
        }
        /// <summary>
        /// Deletes the module.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <exception cref="CustomException">
        /// </exception>
        public void DeleteModule(int id)
        {
            try {
                using (var db = new ELearningDatabaseEntities()) {
                    var result = db.Resources
                                 .First(x => x.ModuleID == id);
                    if (result != null)
                    {
                        var resourceList = db.Resources.Where(x => x.ModuleID == result.ModuleID).ToList();

                        foreach (var resursa in resourceList)
                        {
                            DeleteFile(resursa.FileId);
                            db.Resources.Remove(resursa);
                        }

                        string fileId = result.FileId;
                        //for drive
                        this.DeleteFile(fileId);
                        db.Resources.Remove(result);
                        db.SaveChanges();
                    }
                }
            }
            catch (ArgumentNullException ane) {
                throw new CustomException(ane.Message);
            }
            catch (InvalidOperationException ioe) {
                throw new CustomException(ioe.Message);
            }
            catch (Exception ex) {
                throw new CustomException(ex.Message);
            }
        }
        public ActionResult Delete(int id)
        {
            var question   = _context.Questions.SingleOrDefault(c => c.Id == id);
            var questionid = question.CourseID_Id;

            _context.Questions.Remove(question);
            _context.SaveChanges();

            var viewModel = new SelectedQuestionsViewModel
            {
                Question  = _context.Questions.Where(c => c.CourseID_Id.Equals(questionid)).ToList(),
                Course_id = questionid,
            };

            return(View("Index", viewModel));
        }
Beispiel #8
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);
            }
        }
        public ActionResult Delete(string id)
        {
            var studentInDb = _context.Users.SingleOrDefault(c => c.Id == id);

            _context.Users.Remove(studentInDb);
            _context.Subscriptions.RemoveRange(_context.Subscriptions.Where(c => c.Student_Id == id));
            _context.SaveChanges();

            return(View("Index"));
        }
Beispiel #10
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 #11
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 #12
0
 /// <summary>
 /// Enrol a student to a course
 /// </summary>
 /// <param name= "usersInCourses">The module.</param>
 /// <exception cref="CustomException"></exception>
 public void EnrollStudentInCourse(UsersInCourse usersInCourses)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.UsersInCourse.Add(usersInCourses);
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
 /// <summary>
 /// Saves the resources to database.
 /// </summary>
 /// <param name="resources">The resources.</param>
 /// <exception cref="CustomException"></exception>
 public void SaveResourcesToDb(Resources resources)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Resources.Add(resources);
             db.SaveChanges();
         }
     }
     catch (Exception ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #14
0
 /// <summary>
 /// Adds the specified module.
 /// </summary>
 /// <param name="module">The module.</param>
 /// <exception cref="CustomException"></exception>
 public void AddModule(CourseModule module)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.CourseModule.Add(module);
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #15
0
 /// <summary>
 /// Deletes all logs.
 /// </summary>
 /// <exception cref="CustomException"></exception>
 public void DeleteAllDisplayedLogs()
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Database.ExecuteSqlCommand("TRUNCATE TABLE Logs");
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ane) {
         throw new CustomException(ane.Message);
     }
 }
Beispiel #16
0
        public ViewResult Subscribe(int id)
        {
            var course    = _context.Courses.SingleOrDefault(c => c.Id == id);
            var viewmodel = new CourseFormViewModel
            {
                Course    = course,
                Professor = _context.Users.ToList()
            };
            var studentId  = User.Identity.GetUserId();
            var firstQuery = _context.Users.Single(c => c.Id == studentId);

            Subscription newSubscription = new Subscription()
            {
                Student_Id = firstQuery.Id,
                Course_Id  = course.Id
            };

            _context.Subscriptions.Add(newSubscription);
            _context.SaveChanges();
            return(View("Details", viewmodel));
        }
Beispiel #17
0
 /// <summary>
 /// Adds the homework.
 /// </summary>
 /// <param name="hw">The hw.</param>
 /// <exception cref="CustomException"></exception>
 public void AddHomework(Homeworks hw)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Homeworks.Add(hw);
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ioe) {
         throw new CustomException(ioe.Message);
     }
 }
Beispiel #18
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 #19
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>
 /// Adds the group.
 /// </summary>
 /// <param name="group">The group.</param>
 /// <returns></returns>
 /// <exception cref="CustomException"></exception>
 public Groups AddGroup(Groups group)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Groups.Add(group);
             db.SaveChanges();
         }
         return(group);
     }
     catch (InvalidOperationException ioe) {
         throw new CustomException(ioe.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 #22
0
        public IHttpActionResult DeleteProfessor(string id)
        {
            var professorInDb = _context.Users.SingleOrDefault(c => c.Id == id);

            if (professorInDb == null)
            {
                return(NotFound());
            }

            _context.Users.Remove(professorInDb);
            _context.SaveChanges();

            return(Ok());
        }
        public IHttpActionResult DeleteStudent(string id)
        {
            var studentInDb = _context.Users.SingleOrDefault(c => c.Id == id);

            if (studentInDb == null)
            {
                return(NotFound());
            }


            var subscriptions = _context.Subscriptions.Where(x => x.Student_Id == id).ToList();

            if (subscriptions != null)
            {
                _context.Subscriptions.RemoveRange(subscriptions);
                _context.SaveChanges();
            }

            _context.Users.Remove(studentInDb);
            _context.SaveChanges();

            return(Ok());
        }
Beispiel #24
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 #25
0
 /// <summary>
 /// Add the specified forum.
 /// </summary>
 /// <param name="course">The forum.</param>
 /// <exception cref="CustomException"></exception>
 public void AddForum(Forums forums)
 {
     if (forums.Category.Equals(""))
     {
         throw new CustomException("Category cannot be empty");
     }
     try {
         using (var db = new ELearningDatabaseEntities()) {
             db.Forums.Add(forums);
             db.SaveChanges();
         }
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #26
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 #27
0
 /// <summary>
 /// Deletes the log.
 /// </summary>
 /// <param name="id">The identifier.</param>
 /// <exception cref="CustomException"></exception>
 public void DeleteLog(int id)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             Logs log = db.Logs
                        .Where(l => l.Id == id)
                        .FirstOrDefault();
             db.Logs
             .Remove(log);
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #28
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 #29
0
 /// <summary>
 /// Unenroll a student from a course with specified id
 /// </summary>
 /// <param name="id">The identifier.</param>
 /// <exception cref="CustomException">
 /// </exception>
 public void UnenrollCourse(int id)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             UsersInCourse c = db.UsersInCourse
                               .Where(x => x.CourseId == id)
                               .First();
             db.UsersInCourse.Remove(c);
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ane) {
         throw new CustomException(ane.Message);
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }
Beispiel #30
0
 /// <summary>
 /// Deletes the module with the specified identifier.
 /// </summary>
 /// <param name="id">The identifier.</param>
 /// <exception cref="CustomException">
 /// </exception>
 public void DeleteModule(int id)
 {
     try {
         using (var db = new ELearningDatabaseEntities()) {
             CourseModule cm = db.CourseModule
                               .Where(x => x.ModuleId == id)
                               .First();
             db.CourseModule.Remove(cm);
             db.SaveChanges();
         }
     }
     catch (ArgumentNullException ane) {
         throw new CustomException(ane.Message);
     }
     catch (InvalidOperationException ex) {
         throw new CustomException(ex.Message);
     }
 }