public async Task <IActionResult> CreateLecturer([FromBody] LecturerResource lecturerResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var lecturer = mapper.Map <LecturerResource, Lecturer>(lecturerResource); var major = await majorRepository.GetMajor(lecturerResource.MajorId); lecturer.Major = major; var user = new ApplicationUser { FullName = lecturer.Name, Major = lecturer.Major.MajorName, Avatar = "/assets/images/user.png", Email = lecturer.Email, UserName = lecturer.Email }; if (RoleExists("Lecturer")) { //Check Student Existence if (!LecturerExists(user.Email)) { var password = "******"; // Password Default await userManager.CreateAsync(user, password); await userManager.AddToRoleAsync(user, "Lecturer"); } else { ModelState.AddModelError("", "Email is registered"); } } else { ModelState.AddModelError("", "'Lecturer' role does not exist"); } lecturerRepository.AddLecturer(lecturer); await unitOfWork.Complete(); lecturer = await lecturerRepository.GetLecturer(lecturer.LecturerId); var result = mapper.Map <Lecturer, LecturerResource>(lecturer); return(Ok(result)); }
public void AddLecturers_Successful() { Mock <ILecturerRepository> mockGradeRepository = MockLecturerRepository; mockGradeRepository.Setup(mr => mr.AddLecturer(It.IsAny <LecturerModel>())) .Returns(GetSampleLecturers().Max(u => u.Id) + 1); _mockLecturerRepository = mockGradeRepository.Object; LecturerModel expected = new LecturerModel() { Id = 3, Le_Last_Name = "dd", Le_First_Name = "s", Phone = "8 999 999-99-99", Email = "*****@*****.**", }; int count = _mockLecturerRepository.AddLecturer(expected); Assert.IsNotNull(expected); // Test if null Assert.AreEqual(expected.Id + 1, count); // Verify the expected Number pre-insert }
public int AddLecturer(LecturerModel lecturer) { ValidateLecturer(lecturer); return(_lecturerRepository.AddLecturer(lecturer)); }
public async Task <IActionResult> AddNewLecturer([FromBody] LecturerModel model) { var newlecturer = await _lecturerRepository.AddLecturer(model); return(Ok(newlecturer.ToResponse("Successful"))); }