예제 #1
0
        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));
        }
예제 #2
0
        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
        }
예제 #3
0
 public int AddLecturer(LecturerModel lecturer)
 {
     ValidateLecturer(lecturer);
     return(_lecturerRepository.AddLecturer(lecturer));
 }
예제 #4
0
        public async Task <IActionResult> AddNewLecturer([FromBody] LecturerModel model)
        {
            var newlecturer = await _lecturerRepository.AddLecturer(model);

            return(Ok(newlecturer.ToResponse("Successful")));
        }