public void ApplyChanges(RegisterModel model) { var myType = model.GetType(); var props = new List<PropertyInfo>(myType.GetProperties()); foreach (var prop in props) { if ((prop.Name.ToLower() == "id") || (prop.Name.ToLower() == "password")) continue; var pi = typeof(ApplicationUser).GetProperty(prop.Name); var piD = typeof(RegisterModel).GetProperty(prop.Name); if ((pi == null) || (piD == null)) continue; var val = piD.GetValue(model); pi.SetValue(this, val); } }
public async Task<IHttpActionResult> GetProfile(string username) { if (User.Identity.GetUserName() != username) return Unauthorized(); var user = await Task.Run(() => _userManager.FindByName(username)); var result = new RegisterModel(); result.RegisterModelFactory(user); return Ok(result); }
public async Task<IHttpActionResult> GetProfile() { var user = await _userManager.FindByNameAsync(User.Identity.GetUserName()); if (user == null) { return NotFound(); } var result = new RegisterModel(); result.RegisterModelFactory(user); return Ok(result); }
public async Task<IHttpActionResult> Register(RegisterModel model) { var user = new ApplicationUser(); user.ApplyChanges(model); var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { return Ok("Registered"); } var errors = result.Errors.Aggregate("", (current, error) => $"{current}\r\n{error}"); return BadRequest(errors); }