Esempio n. 1
0
        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 }));
        }
Esempio n. 2
0
        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"));
        }