public ActionResult CreateParentFromToddler(CreateParentViewModel cpvm) { Person parent = new Person(); parent.Id = Guid.NewGuid(); parent.FirstName = cpvm.FirstName; parent.LastName = cpvm.LastName; parent.Gender = cpvm.Gender; db.People.Add(parent); Toddler toddler = GetToddler(cpvm.SubjectId); if (toddler == null) { db.SaveChanges(); return(RedirectToAction("PersonIndex")); } ContactAssociation ca = NewContactAssociation(toddler.Id, parent.Id, Association.Parent); db.ContactAssociations.Add(ca); db.SaveChanges(); return(RedirectToAction("ToddlerDetails", new { id = toddler.Id })); }
public async Task <IActionResult> Create(CreateParentViewModel createParentViewModel) { if (ModelState.IsValid) { Personne personne = new Personne { Nom = createParentViewModel.Nom, Prenom = createParentViewModel.Prenom, Sexe = createParentViewModel.Sexe, DateNaissance = createParentViewModel.DateNaissance, NumSecu = createParentViewModel.NumSecu, Discriminator = "Parent" }; _context.Add(personne); await _context.SaveChangesAsync(); Parent parent = new Parent { ParentId = personne.PersonneId, Personne = personne, Telephone = createParentViewModel.Telephone }; _context.Add(parent); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(createParentViewModel)); }
public async Task <IActionResult> StudentRegister(CreateCombinedStudParentViewModel model) { var user = _userManager.FindByIdAsync(model.P_Id).Result; var role = _roleManager.FindByNameAsync("Student").Result; var parentRole = _roleManager.FindByNameAsync("Parent").Result; Student Student = new Student() { AdmissionDate = model.AdmissionDate, AdmissionNumber = model.AdmissionNumber, ApplicationUserId = model.P_Id, ClassRoomId = model.ClassRoomId }; var parentUser = new ApplicationUser() { UserName = model.ParentEmail, Email = model.ParentEmail, Name = model.ParentName }; var result = await _userManager.CreateAsync(parentUser, model.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(parentUser, "Parent"); } Parent Parent = new Parent() { ApplicationUserId = parentUser.Id, PhoneNumber = model.TpNumber }; var localStudentSuccess = await SaveToDatabase(Student); var localParentSuccess = await SaveToDatabase(Parent); CreateStudentViewModel StudentApi = new CreateStudentViewModel() { P_Id = user.Id, AdmissionDate = model.AdmissionDate, AdmissionNumber = model.AdmissionNumber, ClassRoomId = model.ClassRoomId, Email = user.Email, Name = user.Name, Password = model.StudentPassword, Role_Id = role.Id }; CreateParentViewModel ParentApi = new CreateParentViewModel() { Email = model.ParentEmail, Name = model.ParentName, P_Id = parentUser.Id, Password = model.Password, Role_Id = parentRole.Id, TpNumber = model.TpNumber, StudentId = model.P_Id }; var studentSuccess = await PostOnApi("AddStudentDetails", StudentApi); var success = await PostOnApi("ParentDetails", ParentApi); if (success && studentSuccess && localStudentSuccess && localParentSuccess) { ViewBag.Message = "You have successfully registered a student and a parent"; } return(RedirectToAction("Register", "Account")); }