public async Task <IActionResult> TeacherRegister(CreateTeacherViewModel model) { var user = _userManager.FindByIdAsync(model.P_Id).Result; var role = _roleManager.FindByNameAsync("Teacher").Result; Teacher Teacher = new Teacher() { ApplicationUserId = model.P_Id, Grade = model.teacherGrade, OwnClass = model.ClassRoomId, Phone = model.TpNumber }; var localSuccess = await SaveToDatabase(Teacher); model.Email = user.Email; model.Name = user.Name; model.Role_Id = role.Id; var success = await PostOnApi("TeacherDetails", model); if (success && localSuccess) { ViewBag.Message = "You have successfully registered a teacher"; } return(RedirectToAction("Register", "Account")); }
// Add, Edit, and Delete Teacher methods public void AddTeacher(CreateTeacherViewModel vm) { var teacher = vm.ToTeacher(); context.Teachers.Add(teacher); Save(); }
public ActionResult Create([Bind(Include = "TeacherID, TeacherName")] CreateTeacherViewModel vm) { if (ModelState.IsValid) { repo.AddTeacher(vm); return(RedirectToAction("Index")); } return(View(vm)); }
public async Task <ActionResult> CreateTeacher([FromBody] CreateTeacherViewModel model) { if (ModelState.IsValid) { // creating the school var school = new School(model.SchoolName, GetRandomString(6)); _schoolRepository.Add(school); await _schoolRepository.SaveChanges(); // creating teacher consisting of his school var user = _authenticationManager.CreateApplicationUserObject(model.Email, model.Username, model.Password); user.School = await _schoolRepository.GetByName(model.SchoolName); var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { user = _userManager.Users.SingleOrDefault(u => u.Id == user.Id); if (user.School == null) { return(Ok( new { Message = "Something went wrong when creating your account." })); } await _userManager.AddToRoleAsync(user, "Teacher"); var claim = await CreateClaims(user); //Todo kunnen van CreateClaims in List werken idpv array zodat men niet hoeft de array naar list om te zetten // en in addschoolclaim hoeft men dan geen returnwaarde te geven (want het Adden vd claim is op reference van de lijst) claim = _authenticationManager.AddClaim(claim.ToList(), "school", school.Id.ToString()).ToArray(); var token = GetToken(claim); return(Ok( new { // Username = user.UserName, // Token = GetToken(claim) token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo })); } } return(Ok( new { Message = "Error please make sure your details are correct" })); }
public ActionResult Edit(CreateTeacherViewModel teacherViewModel) { if (ModelState.IsValid) { var subject = db.Subjects.Find(teacherViewModel.SubjectId); var teacher = db.Teachers.FirstOrDefault(x => x.Id == teacherViewModel.Id); teacher.Name = teacherViewModel.Name; teacher.Subject = subject; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(teacherViewModel)); }
public async Task <IActionResult> Create(CreateTeacherViewModel model) { Teacher teacher = _mapper.Map <CreateTeacherViewModel, Teacher>(model); teacher.ID = Guid.NewGuid().ToString(); await _unitOfWork.Teachers.AddAsync(teacher); await _unitOfWork.CompletedAsync(); return(RedirectToAction(nameof(Index))); }
// GET: Teachers/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var teacher = db.Teachers.Find(id); if (teacher == null) { return(HttpNotFound()); } var model = new CreateTeacherViewModel(); ViewBag.Subjects = db.Subjects.ToList(); return(View(model)); }
public ActionResult Create(CreateTeacherViewModel createTeacherViewModel) { if (ModelState.IsValid) { var subject = db.Subjects.Find(createTeacherViewModel.SubjectId); var teacher = new Teacher() { Name = createTeacherViewModel.Name, Subject = subject }; db.Teachers.Add(teacher); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(createTeacherViewModel)); }
public IActionResult CreateTeacher(CreateTeacherViewModel createTeacher) { using (HttpClient client = new HttpClient()) { Teacher teacher = new Teacher() { Name = createTeacher.Name, Email = createTeacher.Email }; var data = JsonConvert.SerializeObject(teacher); var content = new StringContent(data, Encoding.UTF8, "application/json"); var resp = client.PostAsync("http://localhost:56825/api/teacher/CreateTeacher", content).Result; if (resp.IsSuccessStatusCode) { return(RedirectToAction("Index", "Home")); } } return(View()); }
public async Task <IActionResult> CreateUser([Bind("Email,Password,Login,FirstName,MiddleName,LastName,DegreeId,PostId,Roles")] CreateTeacherViewModel teacher) { if (ModelState.IsValid) { var userModel = new TeacherProfile() { FirstName = teacher.FirstName, LastName = teacher.LastName, MiddleName = teacher.MiddleName, DegreeId = teacher.DegreeId, PostId = teacher.PostId, Email = teacher.Email, UserName = teacher.Login }; var result = await _userManager.CreateAsync(userModel, teacher.Password); if (result.Succeeded) { if (teacher.Roles.Contains("admin")) { await _userManager.AddToRoleAsync(userModel, "admin"); } if (teacher.Roles.Contains("teacher")) { await _userManager.AddToRoleAsync(userModel, "teacher"); } await _userManager.AddToRoleAsync(userModel, "user"); return(RedirectToAction(nameof(Index))); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } ViewData["DegreeId"] = new SelectList(_context.Degrees, "Id", "Name", teacher.DegreeId); ViewData["PostId"] = new SelectList(_context.Posts, "Id", "Name", teacher.PostId); return(View(teacher)); }
public void CreateTeacherShouldSaveTheTeacher() { //ARRANGE const string userName = "******"; const string password = "******"; var model = new CreateTeacherViewModel { UserName = userName, Password = password }; var userLogic = new Mock <IUserLogic>(); userLogic .Setup(x => x.CreateUser(It.IsAny <User>())) .Returns(true) .Verifiable("Should store user"); userLogic .Setup(x => x.ResetPassword(It.IsAny <string>(), password)) .Returns(true) .Verifiable("Should set the teachers password"); userLogic .Setup(x => x.AddToRole(It.IsAny <string>(), "Teacher")) .Verifiable("Should add to role."); var controller = new TeacherController(userLogic.Object, null, null, null, null, null, null); //ACT var result = controller.Create(model) as RedirectToRouteResult; //ASSERT userLogic.Verify(); Assert.NotNull(result); Assert.AreEqual("Manage", result.RouteValues["Action"]); }
// Teacher ViewModels public CreateTeacherViewModel GetCreateTeacherViewModel() { var vm = new CreateTeacherViewModel(); return(vm); }