public async Task <IActionResult> Update([FromBody] CourseProcessViewModel courseProcessViewModel)
        {
            try
            {
                CourseProcess courseProcess = await courseProcessRepository.GetByStudentIdAndCourseId(courseProcessViewModel.StudentId, courseProcessViewModel.CourseId);

                if (courseProcess == null)
                {
                    courseProcess = new CourseProcess()
                    {
                        StudentId   = courseProcessViewModel.StudentId,
                        CourseId    = courseProcessViewModel.CourseId,
                        LectureId   = courseProcessViewModel.LectureId,
                        LastUpdated = DateTime.Now
                    };

                    await courseProcessRepository.Add(courseProcess);
                }
                else
                {
                    courseProcess.LectureId   = courseProcessViewModel.LectureId;
                    courseProcess.LastUpdated = DateTime.Now;

                    await courseProcessRepository.Update(courseProcess);
                }


                double completionRate = await lectureRepository.GetCompletionRateByCourseIdAndLectureId(courseProcessViewModel.CourseId, courseProcessViewModel.LectureId);


                return(Ok(new
                {
                    Results = new
                    {
                        CourseProcess = courseProcess,
                        CompletionRate = completionRate
                    }
                }));
            }
            catch (Exception e)
            {
                Console.WriteLine($"ErrorMesages: {e}");

                return(BadRequest(new
                {
                    Errors = new { Code = "InvalidInputParameters", Description = "Invalid Input Parameters!" }
                }));
            }
        }