예제 #1
0
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };

                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    if (model.Student)
                    {
                        var student = new StudentViewModel
                        {
                            Id    = Guid.Parse(user.Id),
                            Name  = model.Name,
                            Email = user.Email
                        };
                        _studentAppService.Add(student);
                    }
                    if (model.Teacher)
                    {
                        await _userManager.AddClaimAsync(user, new Claim("Courses", "Read"));

                        await _userManager.AddClaimAsync(user, new Claim("Courses", "Write"));

                        var teacher = new TeacherViewModel
                        {
                            Id    = Guid.Parse(user.Id),
                            Name  = model.Name,
                            Email = user.Email
                        };
                        _teacherAppService.Add(teacher);
                    }



                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme);
                    await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl);

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    _logger.LogInformation("User created a new account with password.");
                    return(RedirectToLocal(returnUrl));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
예제 #2
0
        public void TestSave()
        {
            Student student = new Student();

            student.Id = 0;
            student.IdentificationNumberSchool = "";
            student.Person = new Person();
            Assert.IsNotNull(_service.Add(student), "Student not created");
        }
예제 #3
0
 public ActionResult Create(StudentViewModel studentViewModel)
 {
     if (ModelState.IsValid)
     {
         _app.Add(studentViewModel.MapTo <Student>());
         return(RedirectToAction("Index"));
     }
     return(View());
 }
        public ActionResult Create(StudentViewModel student)
        {
            if (ModelState.IsValid)
            {
                var studentDomain = Mapper.Map <StudentViewModel, Student>(student);
                _studentApp.Add(studentDomain);

                return(RedirectToAction("Index"));
            }
            return(View(student));
        }
예제 #5
0
        public IActionResult Create(StudentViewModel studentViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(studentViewModel));
            }
            _studentAppService.Add(studentViewModel);

            ViewBag.SuccessCreated = GetMessageCreate(studentViewModel);

            return(View(studentViewModel));
        }
        public async Task <IActionResult> Create(StudentViewModel studentViewModel)
        {
            if (ModelState.IsValid)
            {
                var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                var user   = _applicationUserAppService.GetById(userId);

                if (user != null)
                {
                    studentViewModel = _studentAppService.Add(user.EnvironmentId, studentViewModel);
                }

                if (!studentViewModel.ValidationResult.Any())
                {
                    return(Json(new { studentName = studentViewModel.FullName, statusCode = HttpStatusCode.OK }));
                }

                return(Json(Conflict(studentViewModel.ValidationResult)));
            }

            return(Json(Conflict()));
        }
예제 #7
0
        public ActionResult Create(StudentViewModel studentViewModel)
        {
            ViewBag.Title = "Novo registro";

            if (ModelState.IsValid)
            {
                studentViewModel.AcademicRegistration = studentAppService.GetNextAcademicRegistration();
                studentViewModel = studentAppService.Add(studentViewModel);

                if (!studentViewModel.ValidationResult.IsValid)
                {
                    foreach (var error in studentViewModel.ValidationResult.Erros)
                    {
                        ModelState.AddModelError(string.Empty, error.Message);
                    }

                    return(View(studentViewModel));
                }

                return(RedirectToAction("Index"));
            }

            return(View(studentViewModel));
        }
 public IActionResult Add([FromBody] Student obj)
 {
     return(CreatedHasNotification(nameof(Add), _appService.Add(obj)));
 }