private void FillEditApplicationUser(ref ApplicationUser user, BlogerFieldsViewModel model) { user.Name = model.Name; user.PaternalSurname = model.PaternalSurname; user.MaternalSurname = model.MaternalSurname; user.Email = model.Email; user.UserName = model.UserName; user.PhoneNumber = model.PhoneNumber; }
public async Task <IActionResult> Add(BlogerFieldsViewModel model) { if (!ModelState.IsValid) { return(BadRequest(model)); } if (_context.Users.Any(x => x.UserName.Equals(model.UserName))) { return(BadRequest("El usuario especificado ya se encuentra registrado.")); } //ModelState.AddModelError(nameof(model.UserName), "El usuario especificado ya se encuentra registrado."); if (_context.Users.Any(x => x.Email.Equals(model.Email))) { return(BadRequest("El correo electrónico especificado ya se encuentra registrado.")); } //ModelState.AddModelError(nameof(model.Email), "El correo electrónico especificado ya se encuentra registrado."); try { var passwordValidator = new PasswordValidator <ApplicationUser>(); var passwordIsValid = passwordValidator.ValidateAsync(_userManager, new ApplicationUser(), model.Password).Result.Succeeded; if (!passwordIsValid) { return(BadRequest("La contraseña debe contener al menos 1 letra mayúscula, 1 letra minúscula, 1 dígito y un caracter no alfanumérico.")); } //ModelState.AddModelError(nameof(model.Password), "La contraseña debe contener al menos 1 letra mayúscula, 1 letra minúscula, 1 dígito y un caracter no alfanumérico."); /* * var teacher = new ENTITIES.Models.Generals.Teacher() * { * TeacherInformation = new TeacherInformation() * { * Resolution = new Resolution(), * } * };*/ var user = new ApplicationUser(); FillApplicationUser(ref user, model); var identityResult = await _userManager.CreateAsync(user, model.Password); if (!identityResult.Succeeded) { return(BadRequest("Ocurrió un problema al registrar.")); } var identityRoleResult = await _userManager.AddToRoleAsync(user, ConstantHelpers.ROLES.BLOGER); if (!identityRoleResult.Succeeded) { return(BadRequest("Ocurrió un problema al registrar.")); } //teacher.UserId = user.Id; //teacher.Condition = model.SelectedCondition; //teacher.TeacherDedicationId = model.SelectedDedication; //await _context.Teacher.AddAsync(teacher); //await SaveChangesAsync(); await _context.SaveChangesAsync(); //SuccessToastMessage("Registro del docente realizado."); return(Ok()); } catch (Exception ex) { throw ex; } }