//  Assign an existing exercise to an existing student.
        public void AddExerciseToStudent(StudentExercise exercise)
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    ///cmd.CommandText = $@"INSERT INTO StudentExercise (StudentId, ExerciseId)
                    ///                    VALUES ({exercise.StudentId}, {exercise.ExerciseId})";

                    cmd.CommandText = $@"INSERT INTO StudentExercise (StudentId, ExerciseId) 
                                        VALUES (@studentId, @exerciseId)";

                    cmd.Parameters.Add(new SqlParameter("@studentId", exercise.StudentId));
                    cmd.Parameters.Add(new SqlParameter("@exerciseId", exercise.ExerciseId));

                    cmd.ExecuteNonQuery();
                }
            }
        }
Exemple #2
0
        public async Task <IActionResult> Create(CreateExerciseViewModel model)
        {
            if (ModelState.IsValid)
            {
                _context.Add(model.Exercise);

                foreach (int StudentId in model.SelectedStudents)
                {
                    StudentExercise newSE = new StudentExercise()
                    {
                        ExerciseId = model.Exercise.ExerciseId,
                        StudentId  = StudentId
                    };
                    _context.Add(newSE);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Exemple #3
0
        public async Task <IActionResult> Create(CreateStudentViewModel model)
        {
            if (ModelState.IsValid)
            {
                _context.Add(model.Student);

                foreach (int exerciseId in model.SelectedExercises)
                {
                    StudentExercise newSE = new StudentExercise()
                    {
                        StudentId  = model.Student.StudentId,
                        ExerciseId = exerciseId
                    };
                    _context.Add(newSE);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CohortId"] = new SelectList(_context.Cohorts, "CohortId", "Name", model.Student.CohortId);
            return(View(model));
        }
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] StudentExercise studentexercise)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"UPDATE StudentExercise
                                            SET StudentId = @studentId,
                                                ExerciseId = @exerciseId
                                            WHERE Id = @id";
                        cmd.Parameters.Add(new SqlParameter("@studentId", studentexercise.StudentId));
                        cmd.Parameters.Add(new SqlParameter("@exerciseId", studentexercise.ExerciseId));
                        cmd.Parameters.Add(new SqlParameter("@id", id));

                        int rowsAffected = cmd.ExecuteNonQuery();
                        if (rowsAffected > 0)
                        {
                            return(new StatusCodeResult(StatusCodes.Status204NoContent));
                        }
                        throw new Exception("No rows affected");
                    }
                }
            }
            catch (Exception)
            {
                if (!StudentExerciseExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
        }
Exemple #5
0
        public ActionResult AddExercise(int id, StudentExercise table)
        {
            try
            {
                using (SqlConnection conn = Connection)
                {
                    conn.Open();

                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = @"
                                   INSERT INTO StudentExercise (
                                   ExerciseId,
                                   StudentId,
                                   InstructorId
                                  )  Values (
                                    @studentId,
                                    @exerciseId,
                                    @instructorId
                                   )
                                ";

                        cmd.Parameters.AddWithValue("@studentId", id);
                        cmd.Parameters.AddWithValue("@exerciseId", table.ExerciseId);
                        cmd.Parameters.AddWithValue("@instructorId", table.InstructorId);

                        cmd.ExecuteNonQuery();
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
Exemple #6
0
        static void CreateHelpRequestExercise()
        {
            StudentExercise newStudentExercise = new StudentExercise();

            using (var _UnitOfWork = new UnitOfWork(new StudentHelperContext()))
            {
                Console.WriteLine("Current available student ID's:");
                foreach (Student element in _UnitOfWork.Students.GetAll())
                {
                    Console.WriteLine(element.AUID);
                }
            }
            Console.WriteLine("Enter students AUID");
            newStudentExercise.StudentAUID = System.Console.ReadLine();

            using (var _UnitOfWork = new UnitOfWork(new StudentHelperContext()))
            {
                Console.WriteLine("Current exercises (number, lectures, courseID):");
                foreach (Exercise element in _UnitOfWork.Exercises.GetAll())
                {
                    Console.WriteLine(element.Number + ", " + element.Lecture + ", " + element.CourseID);
                }
            }
            Console.WriteLine("Enter exercise number");
            newStudentExercise.ExerciseNumber = int.Parse(System.Console.ReadLine());
            Console.WriteLine("Enter lecture");
            newStudentExercise.ExerciseLecture = int.Parse(System.Console.ReadLine());
            Console.WriteLine("Enter course ID");
            newStudentExercise.CourseId = int.Parse(System.Console.ReadLine());

            using (var _UnitOfWork = new UnitOfWork(new StudentHelperContext()))
            {
                _UnitOfWork.HelpRequests.AddHelpRequestExercise(newStudentExercise);
                _UnitOfWork.Complete();
            }
        }
Exemple #7
0
        public async Task <IActionResult> Create(CreateExerciseViewModel viewmodel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(viewmodel.Exercise);

                if (viewmodel.SelectedStudents != null)
                {
                    foreach (int assignedStudentId in viewmodel.SelectedStudents)
                    {
                        StudentExercise newSE = new StudentExercise()
                        {
                            StudentId  = assignedStudentId,
                            ExerciseId = viewmodel.Exercise.ExerciseId
                        };
                        _context.Add(newSE);
                    }
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewmodel));
        }
Exemple #8
0
        public async Task <IActionResult> Create(CreateExerciseViewModel model)
        {
            if (ModelState.IsValid)
            {
                _context.Add(model.Exercise);

                foreach (int studentId in model.SelectedStudents)
                {
                    // create a new instance of StudentExercise for each selected student
                    StudentExercise newSE = new StudentExercise()
                    {
                        ExerciseId = model.Exercise.ExerciseId,
                        StudentId  = studentId
                    };
                    // insert each selected exercise to the StudentExercise join table in db
                    _context.Add(newSE);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
        public List <StudentExercise> GetStudentExercises()
        {
            using (SqlConnection conn = Connection)
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText =
                        @"SELECT se.Id as StudentExerciseId, StudentId, ExerciseId, s.FirstName, s.LastName, 
                        s.SlackHandle, s.CohortId, e.ExerciseName as ExerciseName, e.ExerciseLanguage FROM StudentExercise as se 
                        LEFT JOIN Student as s ON se.StudentId = s.Id 
                        JOIN Exercise as e  ON se.ExerciseId = e.Id;";
                    SqlDataReader reader = cmd.ExecuteReader();

                    List <StudentExercise> StudentExercises = new List <StudentExercise>();
                    while (reader.Read())
                    {
                        int StudentExerciseIdPosition = reader.GetOrdinal("StudentExerciseId");
                        int StudentExerciseIdValue    = reader.GetInt32(StudentExerciseIdPosition);

                        int StudentIdPosition = reader.GetOrdinal("StudentId");
                        int StudentIdValue    = reader.GetInt32(StudentIdPosition);

                        int ExerciseIdPosition = reader.GetOrdinal("ExerciseId");
                        int ExerciseIdValue    = reader.GetInt32(ExerciseIdPosition);

                        int    StudentFirstNamePosition = reader.GetOrdinal("FirstName");
                        string StudentFirstNameValue    = reader.GetString(StudentFirstNamePosition);

                        int    StudentLastNamePosition = reader.GetOrdinal("LastName");
                        string StudentLastNameValue    = reader.GetString(StudentLastNamePosition);

                        int    SlackHandlePosition = reader.GetOrdinal("SlackHandle");
                        string SlackHandleValue    = reader.GetString(SlackHandlePosition);

                        int CohortIdPosition = reader.GetOrdinal("CohortId");
                        int CohortIdValue    = reader.GetInt32(CohortIdPosition);

                        int    ExerciseNamePosition = reader.GetOrdinal("ExerciseName");
                        string ExerciseNameValue    = reader.GetString(ExerciseNamePosition);

                        int    ExerciseLanguagePosition = reader.GetOrdinal("ExerciseLanguage");
                        string ExerciseLanguageValue    = reader.GetString(ExerciseLanguagePosition);

                        Exercise exercise = new Exercise
                        {
                            Id               = ExerciseIdValue,
                            ExerciseName     = ExerciseNameValue,
                            ExerciseLanguage = ExerciseLanguageValue
                        };

                        Student student = new Student
                        {
                            Id          = StudentIdValue,
                            FirstName   = StudentFirstNameValue,
                            LastName    = StudentLastNameValue,
                            SlackHandle = SlackHandleValue,
                            CohortId    = CohortIdValue
                        };

                        StudentExercise studentExercise = new StudentExercise
                        {
                            Id         = StudentExerciseIdValue,
                            StudentId  = StudentIdValue,
                            Student    = student,
                            ExerciseId = ExerciseIdValue,
                            Exercise   = exercise
                        };

                        StudentExercises.Add(studentExercise);
                    }
                    reader.Close();
                    return(StudentExercises);
                }
            }
        }
        ///  The Main method is the starting point for a .net application.
        static void Main(string[] args)
        {
            /// Create an instance of the Repository class in order to use its methods to interact with the database.
            Repository             repository       = new Repository();
            List <Exercise>        exercises        = repository.GetAllExercises();
            List <Student>         students         = repository.GetAllStudentsWithCohorts();
            List <StudentExercise> studentExercises = repository.GetAllStudentExercises();
            List <Instructor>      instructors      = repository.GetAllInstructorsWithCohorts();

            PrintExerciseReport("All Exercises", exercises);

            Pause();

            // Find all the exercises in the database where the language is JavaScript.
            IEnumerable <Exercise> JsExercises = exercises.Where(e => e.ExerciseLanguage == "Javascript");

            PrintExerciseReport("Javascript Exercises", JsExercises.ToList());

            Pause();


            // Insert a new exercise into the database.
            Exercise adoNetSql = new Exercise {
                ExerciseName = "Using ADO.NET and SQL", ExerciseLanguage = "C#"
            };

            // Pass the exercise object as an argument to the repository's AddExercise() method.
            repository.AddExercise(adoNetSql);

            exercises = repository.GetAllExercises();
            PrintExerciseReport("All Departments after adding new C# exercise", exercises);

            Pause();

            // Find all instructors in the database. Include each instructor's cohort.
            PrintInstructorReport("All Instructors", instructors);

            Pause();

            // Insert a new instructor into the database. Assign the instructor to an existing cohort.
            Instructor brenda = new Instructor {
                FirstName = "Brenda", LastName = "Long", Slack = "brenda", CohortId = 1
            };

            // Pass the exercise object as an argument to the repository's AddExercise() method.
            repository.AddInstructor(brenda);
            instructors = repository.GetAllInstructorsWithCohorts();
            PrintInstructorReport("All Instructors after adding new instructor", instructors);
            Pause();

            PrintStudentExerciseReport("All Student Exercises", studentExercises);
            Pause();

            // Assign an existing exercise to an existing student.
            StudentExercise newAssignment = new StudentExercise {
                StudentId = 9, ExerciseId = 1
            };

            repository.AddExerciseToStudent(newAssignment);
            studentExercises = repository.GetAllStudentExercises();
            PrintStudentExerciseReport("All Student Exercises after assigning a new one", studentExercises);
            Pause();
        }
Exemple #11
0
 public void AddHelpRequestExercise(StudentExercise studentExercise)
 {
     Context.Set <StudentExercise>().Add(studentExercise);
 }
Exemple #12
0
 public ExerciseReview(Teacher teacher, StudentExercise studentExercise, ExerciseReviewStatus exerciseReviewStatus)
 {
     Teacher              = teacher;
     StudentExercise      = studentExercise;
     ExerciseReviewStatus = exerciseReviewStatus;
 }