public UpdateStudentResponse UpdateStudent(UpdateStudentRequest request)
        {
            var student = _context.Student
                          .FirstOrDefault(s => s.IndexNumber == request.IndexNumber);

            var response = new UpdateStudentResponse();

            response.IndexNumber = request.IndexNumber;

            if (!string.IsNullOrEmpty(request.FirstName))
            {
                student.FirstName = request.FirstName;
                _context.SaveChanges();
            }

            if (!string.IsNullOrEmpty(request.LastName))
            {
                student.LastName = request.LastName;
                _context.SaveChanges();
            }

            if (!string.IsNullOrEmpty(request.Password))
            {
                student.Password = request.Password;
                _context.SaveChanges();
            }

            if (!string.IsNullOrEmpty(request.BirthDate))
            {
                student.BirthDate = Convert.ToDateTime(request.BirthDate);
                _context.SaveChanges();
            }

            if (!string.IsNullOrEmpty(request.IdEnrollment))
            {
                var enrollmentExists = EnrollmentExists(request.IdEnrollment);
                if (!enrollmentExists)
                {
                    student.IdEnrollment = Convert.ToInt32(request.IdEnrollment);
                    _context.SaveChanges();
                }
            }
            response.FirstName    = student.FirstName;
            response.LastName     = student.LastName;
            response.BirthDate    = student.BirthDate.ToString(CultureInfo.InvariantCulture);
            response.IdEnrollment = student.IdEnrollment.ToString();
            response.Password     = student.Password;

            return(response);
        }
        /// <summary>
        /// Update student's information
        /// </summary>
        /// <param name="requestModel"></param>
        /// <returns></returns>
        public async Task <UpdateStudentResponse> UpdateStudent(UpdateStudentRequest requestModel)
        {
            //Find User with the same id in database
            var user = await _userService.FindById(requestModel.StudentId);

            //Check if student already existed in database
            var student = await _repoWrapper.Student.FindByIdAsync(requestModel.StudentId);

            //If student already existed, update student
            student = requestModel.MapToStudent(student);

            //Update Student
            student = await _repoWrapper.Student.UpdateAsync(student, student.StudentId);


            return(UpdateStudentResponse.CreateFromStudent(student));
        }