public void AddStudent_AddNull_ThrowException()
        {
            var message = "AddStudent异常";

            _dbMock.Setup(db => db.Students.Add(null)).Throws(new Exception(message));
            var ext = Assert.Throws <Exception>(() => _studentRepository.AddStudent(null));

            Assert.Contains(message, ext.Message);
        }
Exemple #2
0
        public IActionResult ProfScreen(ProfScreenViewModel profScreenViewModel)
        {
            _classroomRepository.AddClassroom(profScreenViewModel.classroom);
            List <string> roster = new List <string>();

            if (profScreenViewModel.roster != null)
            {
                roster = iformreader.ReadAsList(profScreenViewModel.roster);
            }
            foreach (string input in roster)
            {
                if (input != "\"identifier\",\"github_username\",\"github_id\",\"name\"")
                {
                    string[] line = input.Split(',');

                    // only input students that have connected to github classroom
                    if (line[1].Trim('"') != "")
                    {
                        // get the student username and id set by the teacher.
                        if (line[3].Trim('"') == "")
                        {
                            // Students.Add(new Student(line[0].Trim('"'), line[1].Trim('"'), line[0].Trim('"')));
                            Models.Students.Student student = new Models.Students.Student()
                            {
                                githubEmail   = line[0].Trim('"'),
                                githubUrsName = line[1].Trim('"'),
                                name          = line[0].Trim('"'),
                                classId       = profScreenViewModel.classroom.classId
                            };
                            _studentRepository.AddStudent(student);
                        }
                        else
                        {
                            // Students.Add(new Student(line[3].Trim('"'), line[1].Trim('"'), line[0].Trim('"')));
                            Models.Students.Student student = new Models.Students.Student()
                            {
                                githubEmail   = line[0].Trim('"'),
                                githubUrsName = line[1].Trim('"'),
                                name          = line[3].Trim('"'),
                                classId       = profScreenViewModel.classroom.classId
                            };
                            _studentRepository.AddStudent(student);
                        }
                    }
                }
            }
            var classes  = _classroomRepository.GetAllClassrooms().OrderBy(c => c.className);
            var students = _studentRepository.GetAllStudents().OrderBy(s => s.classId);

            profScreenViewModel = new ProfScreenViewModel()
            {
                Classrooms = classes.ToList(),
                Students   = students.ToList()
            };
            return(View(profScreenViewModel));
        }
Exemple #3
0
        public IActionResult Student(StudentTeacherViewModel model)
        {
            // model에 있는 유효성 검사 확인
            if (ModelState.IsValid)
            {
                // model 데이터를 Student table에 저장
                _studentRepository.AddStudent(model.Student);
                _studentRepository.Save();
                // input value 삭제
                ModelState.Clear();
            }
            else
            {
                // error
            }
            var students = _studentRepository.GetAllStudents();

            var viewModel = new StudentTeacherViewModel()
            {
                Student  = new Student(),
                Students = students
            };


            return(View(viewModel));
        }
Exemple #4
0
        public Student TryAddStudent(StudentContract studentContract, out string message)
        {
            if (!Utilities.IsValidStudentContract(studentContract, out message))
            {
                return(null);
            }

            try
            {
                // Assuming 2 people can have the exact same name, but not the same email address
                if (_studentRepository.IsStudentWithSameEmailAddressExist(studentContract.EmailAddress))
                {
                    message = "Student with the same email address is already exist";
                    return(null);
                }

                var student = new Student(studentContract);
                return(_studentRepository.AddStudent(student));
            }
            catch (DALException e)
            {
                // LOG
                throw new BLException("There was a problem adding new student", e);
            }
        }
Exemple #5
0
        public IActionResult Student(StudentTeacherViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Store model data to Student table
                _studentRepository.AddStudent(model.Student);
                _studentRepository.Save();

                ModelState.Clear();
            }
            else
            {
                // Show Error
            }

            var students = _studentRepository.GetAllStudents();

            var viewModel = new StudentTeacherViewModel()
            {
                Student  = new Student(),
                Students = students
            };

            return(View(viewModel));
        }
 public IActionResult Create(StudentViewModel studentModel)
 {
     if (ModelState.IsValid)
     {
         string  fileName   = ProcessUploadedFile(studentModel);
         Student newStudent = new Student
         {
             Name                 = studentModel.Name,
             Gender               = studentModel.Gender,
             DateOfBirth          = studentModel.DateOfBirth,
             Address              = studentModel.Address,
             Nationality          = studentModel.Nationality,
             Phone                = studentModel.Phone,
             Photo                = fileName,
             MaritalStatus        = studentModel.MaritalStatus,
             AddmissionType       = studentModel.AddmissionType,
             NextOfKinName        = studentModel.NextOfKinName,
             NextOfKinEmail       = studentModel.NextOfKinEmail,
             NextOfKinPhone       = studentModel.NextOfKinPhone,
             NextOfKinDocumentUrl = studentModel.NextOfKinDocumentUrl,
             BVN = studentModel.BVN
         };
         _studentRepository.AddStudent(newStudent);
         return(RedirectToAction("studentinfo", new { Id = newStudent.Id }));
     }
     return(View());
 }
Exemple #7
0
        public void AddStudentRepository(int studentId, string name, string surname, string birthday)
        {
            Student entrada = new Student(studentId, name, surname, birthday);
            Student salida  = iStudentRepository.AddStudent(entrada);

            Assert.AreEqual(entrada, salida);
        }
        public async Task <IActionResult> Post(Student entity)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var id = await studentRepository.AddStudent(entity);

                    var student = entity;
                    student.Id = id;

                    return(Created($"/api/students/{id}", student));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                logger.LogError($"Failed to save a new student: {ex}");
            }

            return(BadRequest("Failed to save new student"));
        }
Exemple #9
0
        public async Task <ActionResult> PostStudent(StudentInsertDTO student)
        {
            UserAccount newAccount = new UserAccount(student.Username, student.Password, 3, student.AvatarUrl);

            int newAccountId = await _userAccountRepository.AddUserAccount(newAccount);

            if (newAccountId != 0)
            {
                Student newStudent = new Student()
                {
                    UserAccountId = newAccountId,
                    FirstName     = student.FirstName,
                    LastName      = student.LastName,
                    BirthDate     = student.Birthdate,
                    Description   = student.Description,
                    Email         = student.Email,
                    Phone         = student.Phone,
                    Points        = 0
                };


                var edcId = await _studentRepository.AddStudent(newStudent);

                return(Ok());
            }

            return(BadRequest());
        }
Exemple #10
0
        public IActionResult Create(StudentCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                string filename = null;

                if (model.PhotoPath != null)
                {
                    string uploads =
                        Path.Combine(
                            histingEnviroment.WebRootPath, "images"
                            );

                    filename = Guid.NewGuid().ToString() + "_" + model.PhotoPath.FileName.ToString();
                    string filePath = Path.Combine(uploads, filename);
                    model.PhotoPath.CopyTo(new FileStream(filePath, FileMode.Create));
                }
                Student stud = new Student()
                {
                    FullName  = model.FullName,
                    Address   = model.Address,
                    Division  = model.Division,
                    PhotoPath = filename
                };
                var st = _repository.AddStudent(stud);
                // return RedirectToAction("Details", new {id = st.StudentId});
                return(RedirectToAction("Details", new { id = stud.StudentId }));
            }
            return(View("Create"));
        }
        public IActionResult Student([Bind("Name, Age")] StudentModel model)
        {
            var viewModel = new StudentTeacherViewModel();

            viewModel.Student  = model;
            viewModel.Teachers = teachers;

            // 유효성 검사 통과 여부 ( T : Pass, F : fail )
            if (ModelState.IsValid)
            {
                // model 데이터를 Student 테이블에 저장
                _studentRepository.AddStudent(model);
                _studentRepository.Save();

                // Clear Input Data
                ModelState.Clear();
            }
            else
            {
                // 에러 메시지
            }

            var students = _studentRepository.GetAllStudents();

            viewModel.Student  = new StudentModel();
            viewModel.Students = students;

            return(View(viewModel));
        }
Exemple #12
0
        public IActionResult Student(StudentTeacherViewModel model)
        {
            // Check valid of model values
            if (ModelState.IsValid)
            {
                // Store model data into Student table
                _studentRepository.AddStudent(model.Student);
                _studentRepository.Save();

                ModelState.Clear();
            }
            else
            {
                // If model values are not valid, display Error
            }

            var students = _studentRepository.GetAllStudents();

            var viewModel = new StudentTeacherViewModel()
            {
                Student  = new Student(),
                Students = students
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> AddStudent([FromBody] Student model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var stdId = await studentRepository.AddStudent(model);

                    if (stdId > 0)
                    {
                        return(Ok(stdId));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                catch (Exception)
                {
                    return(BadRequest());
                }
            }

            return(BadRequest());
        }
Exemple #14
0
        public IActionResult Student(StudentTeacherViewModel model)
        //받고 싶은 데이터만 받는 방법: Bind Attribute 사용
        //public IActionResult Student([Bind("Name, Age")] Student model)
        //public IActionResult Student(Student model)
        {
            //유효성 검사
            if (ModelState.IsValid)
            {
                //true 리턴시, model 데이터를 Student 테이블에 저장
                _studentRepository.AddStudent(model.Student);
                _studentRepository.Save();

                //입력 Data 초기화
                ModelState.Clear();
            }
            else
            {
                //TagHelper를 이용한 에러내용 출력
            }

            var students = _studentRepository.GetAllStudent();

            var viewModel = new StudentTeacherViewModel()
            {
                Student  = new Student(),
                Students = students
            };

            return(View(viewModel));
        }
 public async Task OnSave()
 {
     if (Class == null)
     {
         await _confirmationDialogHelper.ErrorWindowShow("Can you selected class please?");
     }
     else
     {
         Student.FirstName       = FirstName;
         Student.LastName        = LastName;
         Student.Address         = Adresse;
         Student.Email           = Email;
         Student.BirthDate       = BirthDate;
         Student.PhoneNumber     = PhoneNumber;
         Student.Gender          = Gender;
         Student.InscriptionDate = DateTime.Now;
         Student.StudiesGrade    = StudiesGrade;
         Student.MainPhotoUrl    = Photo;
         Student.ClassId         = Class.Id;
         try
         {
             await _studentRepository.AddStudent(Student);
         }
         catch (Exception ex)
         {
             Console.WriteLine("Exception de type " + ex.Message);
         }
         await OnCancel();
     }
 }
Exemple #16
0
        public async Task <StudentOutputDto> AddStudent(AddStudentInputDto addRoleInputDto)
        {
            var addstudent = _mapper.Map <Student>(addRoleInputDto);
            var role       = await _studRepository.AddStudent(addstudent);

            return(_mapper.Map <StudentOutputDto>(role));
        }
Exemple #17
0
        public IActionResult Student(StudentTeacherViewModel model)
        {
            if (ModelState.IsValid)
            {
                //  model data 를 Student Table 에 저장
                _studentRepository.AddStudent(model.Student);
                _studentRepository.Save();

                ModelState.Clear();
            }
            else
            {
                // 에러 메세지
            }

            var students = _studentRepository.GetALLStudents();

            var viewModel = new StudentTeacherViewModel()
            {
                Student  = new Student(),
                Students = students
            };

            return(View(viewModel));
        }
        public async Task <ActionResult <Student> > CreateStudent(Student student)
        {
            try
            {
                if (student == null)
                {
                    return(BadRequest());
                }


                // Add custom model validation error
                var model = await studentRepository.GetStudentByEmail(student.Email);

                if (model != null)
                {
                    ModelState.AddModelError("邮箱", "此电子邮件已经被注册了");
                    return(BadRequest(ModelState));
                }



                var createdStudent = await studentRepository.AddStudent(student);

                return(CreatedAtAction(nameof(GetStudent),
                                       new { id = createdStudent.StudentId }, createdStudent));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  "创建新学生记录出错"));
            }
        }
        public async Task <ActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                IdentityUser user = await userManager.FindByIdAsync(model.Name);

                if (user == null)
                {
                    user = new IdentityUser(model.Email);
                    var result = await userManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        var student = new Student {
                            StudentName = model.Name, Email = model.Email, PhoneNumber = model.PhoneNumber
                        };
                        studentRepository.AddStudent(student);
                        await signInManager.SignInAsync(user, isPersistent : false);

                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }

            // If we got this far, something failed, redisplay form
            return(View("Register", model));
        }
Exemple #20
0
        public IActionResult Index(Students student)
        {
            if (ModelState.IsValid)
            {
                if (!_appDbCotext.students.Any(p => p.email == student.email))
                {
                    int _code = 0;

                    do
                    {
                        _code = NstudentRepository.GenerateRandomNo();
                    } while (_appDbCotext.students.Any(p => p.code == _code));

                    student.code    = _code;
                    ViewBag.Message = "done!";

                    string[] result = student.email.Split('.', '@').ToArray();
                    student.FullName = result[0] + " " + result[1];
                    NstudentRepository.AddStudent(student);

                    return(RedirectToAction("SendCode", "Home", new { Code = _code }));
                }
                else
                {
                    ViewBag.Message = "Students with this Email Already Exist";

                    return(View(student));
                }
            }

            return(View(student));
        }
Exemple #21
0
        public async Task <StudentDto> AddStudent(StudentDto newStudent)
        {
            var studentMap = MapObj(newStudent);
            var student    = await _studentRepository.AddStudent(studentMap);

            return(student != null?MapToConcreteObj(student) : null);
        }
Exemple #22
0
        public IActionResult Create(CreateStudentViewModel model)
        {
            if (ModelState.IsValid)
            {
                string  uniqueFileName = ProcessFileUpload(model);
                Student student        = new Student()
                {
                    firstName   = model.FirstName,
                    middleName  = model.MiddleName,
                    lastName    = model.LastName,
                    email       = model.Email,
                    age         = model.Age,
                    entryYear   = model.EntryYear,
                    birthDate   = model.BirthDate,
                    grade       = model.Grade,
                    phoneNumber = model.PhoneNumber,
                    season      = model.Semester,
                    gender      = model.Gender,
                    photoPath   = uniqueFileName,
                    address     = model.Address,
                    city        = model.City,
                    state       = model.State
                };
                _studentRepository.AddStudent(student);

                return(RedirectToAction("Details", "Home", new { id = student.id }));
            }
            return(View(model));
        }
        /*[ValidateAntiForgeryToken] */ // 유저가 서버로 폼 정보를 보낼 때 이 정보가 유저에게 제공된 폼 정보가 맞는지 토큰 비교, 크로스 사이트 스크립팅 예방책 https://docs.microsoft.com/ko-kr/aspnet/core/security/anti-request-forgery?view=aspnetcore-2.1
        public IActionResult Student(StudentTeacherViewModel model)
        {
            //유효성 검사
            if (ModelState.IsValid)
            {
                //model 데이터 저장 로직
                _studentRepository.AddStudent(model.Student);
                _studentRepository.Save();

                ModelState.Clear();
            }
            else
            {
                //에러 로직
            }

            var students  = _studentRepository.GetAllStudents();
            var viewModel = new StudentTeacherViewModel()
            {
                Student  = new Student(),
                Students = students
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> CreateStudent([FromBody] StudentViewModel entity)
        {
            // validate model state
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // Check class exist
            var studentClass = await _schoolClassRepository.GetSchoolClassAsync(entity.classId);

            if (studentClass == null)
            {
                ModelState.AddModelError("classId", "Invalid Class id.");
                return(BadRequest(ModelState));
            }

            // Add student
            var student = _mapper.Map <StudentViewModel, Student>(entity);

            _studentRepository.AddStudent(student);

            await _unitOfWork.CompleteAsync();

            student = await _studentRepository.GetStudent(student.StudentId);

            // Return mapped model
            var result = _mapper.Map <Student, StudentViewModel>(student);

            return(Ok(result));
        }
        public async Task <ActionResult <Student> > PostStudent(Student student)
        {
            _studentRepository.AddStudent(student);

            _studentRepository.Commit();

            return(CreatedAtAction(nameof(GetStudents), new { id = student.StudentId }, student));
        }
Exemple #26
0
        public async Task <IActionResult> CreateStudent([FromBody] StudentResource studentResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var student = mapper.Map <StudentResource, Student>(studentResource);

            var major = await majorRepository.GetMajor(studentResource.MajorId);

            student.Major = major;

            var user = new ApplicationUser
            {
                FullName = student.Name,
                Email    = student.Email,
                Avatar   = "/assets/images/user.png",
                Major    = student.Major.MajorName,
                UserName = student.Email
            };

            if (RoleExists("Student"))
            {
                //Check Student Existence
                if (!StudentExists(user.Email) && !StudentIdExists(student.StudentCode))
                {
                    var password = student.StudentCode.ToString(); // Password Default
                    await userManager.CreateAsync(user, password);

                    await userManager.AddToRoleAsync(user, "Student");
                }
            }

            studentRepository.AddStudent(student);
            await unitOfWork.Complete();

            student = await studentRepository.GetStudent(student.Id);

            await hubContext.Clients.All.InvokeAsync("LoadData");

            var result = mapper.Map <Student, StudentResource>(student);

            return(Ok(result));
        }
        public async Task <ActionResult <StudentDto> > CreateStudent(Guid professionId, [FromBody] StudentAddDto studentAddDto)
        {
            //ApiController在遇到studentAddDto为空时可以自动返回400错误
            var student = _mapper.Map <Student>(studentAddDto);

            student.ProfessionId = professionId;
            student.Profession   = await _professionRepository.GetProfessionAsync(professionId);

            student.Profession.Academy = await _academyRepository.GetAcademyAsync(student.Profession.AcademyId);

            _studentRepository.AddStudent(student);//只是被添加到DbContext里

            await _studentRepository.SaveAsync();

            var studentDto = _mapper.Map <StudentDto>(student);

            return(CreatedAtRoute(nameof(GetStudent), new { studentId = student.StudentId }, studentDto));
        }
 public IActionResult OnPost()
 {
     if (ModelState.IsValid)
     {
         repo.AddStudent(Student);
         Students = repo.GetAllStudent();
     }
     return(Page());
 }
        public ActionResult AddStudent(StudentDTO data)
        {
            var student = StudentDTO2Student(data);

            //Возвращаем id студента
            var id = _studentRepository.AddStudent(student);

            return(Ok(id));
        }
Exemple #30
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="createUser"></param>
        /// <returns></returns>
        public CreateUserResult CreateNewUser(UserCreationDto createUser, ClaimsPrincipal claims)
        {
            CreateUserResult result = new CreateUserResult()
            {
                CreationError        = UserCreationError.NoError,
                IsCreatedSuccesfully = true
            };

            // First check if user alredy exists in database
            var users = userRepo.GetUsers(new UserQueryParameters()
            {
                UserName = createUser.UserName
            });

            if (users.Any(u => string.Compare(u.UserName, createUser.UserName, StringComparison.OrdinalIgnoreCase) == 0))
            {
                result.IsCreatedSuccesfully = false;
                result.CreationError        = UserCreationError.LoginAlreadyExists;
                return(result);
            }

            Users user = Mapper.Map <Users>(createUser);

            // Create appropriate user data according to flags
            if (createUser.IsTeacher)
            {
                Teachers teacher = Mapper.Map <Teachers>(createUser);
                teacherRepo.AddTeacher(teacher, claims);
                teacherRepo.Save();
                user.TeacherId     = teacher.TeacherId;
                result.CreatedUser = Mapper.Map <UserDto>(teacher);
            }

            if (createUser.IsStudent)
            {
                Students student = Mapper.Map <Students>(createUser);
                studentRepo.AddStudent(student, claims);
                studentRepo.Save();
                user.StudentId     = student.StudentId;
                result.CreatedUser = Mapper.Map <UserDto>(student);
            }

            if (createUser.IsParent)
            {
                Parents parent = Mapper.Map <Parents>(createUser);
                parentRepo.AddParent(parent, claims);
                parentRepo.Save();
                user.ParentId      = parent.ParentId;
                result.CreatedUser = Mapper.Map <UserDto>(parent);
            }

            userRepo.CreateUser(user, claims);
            userRepo.Save();
            result.CreatedUser.UserId = user.UserId.ToString();

            return(result);
        }