public async Task <IHttpActionResult> MyInfo() { AccountRegistrationRequest ar = new AccountRegistrationRequest(); if (IsUserAuthenticated) { ApplicationDbContext context = ApplicationDbContext.Create(); UserStore <ApplicationUser> userStore = new UserStore <ApplicationUser>(context); ApplicationUserManager userManager = new ApplicationUserManager(userStore); var usr = await userManager.FindByIdAsync(this.UserId); if (usr != null) { ar.AddressLine1 = usr.Address; ar.DateOfBirth = usr.DateOfBirth; ar.EmailAddress = usr.Email; ar.FirstName = usr.FirstName; ar.LastName = usr.LastName; ar.Gender = usr.Gender.ToString(); ar.MobileNumber = usr.PhoneNumber; } } return(Ok(ar)); }
private async Task <AccountRegistrationRequest> GenerateRadomAccount() { AccountRegistrationRequest accountRegistrationRequest = new AccountRegistrationRequest(); accountRegistrationRequest.Password = await GenerateRadomPassword(); accountRegistrationRequest.ConfirmPassword = accountRegistrationRequest.Password; HttpClient ApiControllers = new HttpClient(); var json = await ApiControllers.GetStringAsync("https://randomuser.me/api/?nat=gb"); var t = JsonConvert.DeserializeObject <RandomUserMeResponse>(json); accountRegistrationRequest.DateOfBirth = (new DateTime(1970, 1, 1).AddSeconds(t.results[0].dob)); accountRegistrationRequest.Gender = t.results[0].gender; accountRegistrationRequest.FirstName = t.results[0].name.first; accountRegistrationRequest.LastName = t.results[0].name.last; accountRegistrationRequest.EmailAddress = t.results[0].email; accountRegistrationRequest.MobileNumber = t.results[0].cell.Replace("-", ""); //Latitude,Longitude,Number,Road,Locality,Post town,Admin area level 3,Admin area level 2,Admin area level 1,Postcode,Country string[] d; do { d = RA(); accountRegistrationRequest.AddressLine1 = d[2] + " " + d[3]; accountRegistrationRequest.AddressLine2 = d[4]; accountRegistrationRequest.TownCity = d[5]; accountRegistrationRequest.Postcode = d[9]; accountRegistrationRequest.Country = d[10]; } while (d == null || string.IsNullOrWhiteSpace(d[2])); return(accountRegistrationRequest); }
public async Task <IHttpActionResult> Register(AccountRegistrationRequest accountRegistrationRequest) { return(await Register2(accountRegistrationRequest, DateTime.Now)); }
private async Task <IHttpActionResult> Register2(AccountRegistrationRequest accountRegistrationRequest, DateTime?registrationDate, bool dummy = false) { if (accountRegistrationRequest != null) { if (ModelState.IsValid || IsUserAuthenticated) { ApplicationDbContext context = ApplicationDbContext.Create(); UserStore <ApplicationUser> userStore = new UserStore <ApplicationUser>(context); ApplicationUserManager userManager = new ApplicationUserManager(userStore); string password = accountRegistrationRequest.Password; string[] addressParts = { accountRegistrationRequest.AddressLine1, accountRegistrationRequest.AddressLine2, accountRegistrationRequest.TownCity }; string address = string.Join(",\r\n", addressParts.Where(part => !string.IsNullOrWhiteSpace(part))); ApplicationUser newApplicationUser = new ApplicationUser(); if (IsUserAuthenticated) { newApplicationUser = await userStore.FindByIdAsync(this.UserId); } if (accountRegistrationRequest.FirstName != null) { newApplicationUser.FirstName = accountRegistrationRequest.FirstName; } if (accountRegistrationRequest.LastName != null) { newApplicationUser.LastName = accountRegistrationRequest.LastName; } newApplicationUser.Address = address; if (accountRegistrationRequest.Postcode != null) { newApplicationUser.Postcode = accountRegistrationRequest.Postcode; } if (accountRegistrationRequest.EmailAddress != null) { newApplicationUser.Email = accountRegistrationRequest.EmailAddress; } if (!IsUserAuthenticated) { if (accountRegistrationRequest.EmailAddress != null) { newApplicationUser.UserName = accountRegistrationRequest.EmailAddress; } } if (accountRegistrationRequest.DateOfBirth != default(DateTime)) { newApplicationUser.DateOfBirth = accountRegistrationRequest.DateOfBirth; } if (accountRegistrationRequest.Gender != null) { if (accountRegistrationRequest.Gender.Contains("female")) { newApplicationUser.Gender = Gender.Female; } } if (registrationDate != null) { newApplicationUser.RegistrationDate = registrationDate.Value; } else { newApplicationUser.RegistrationDate = DateTime.Now; } if (accountRegistrationRequest.MobileNumber != null) { newApplicationUser.PhoneNumber = accountRegistrationRequest.MobileNumber; } if (accountRegistrationRequest.Postcode != null) { newApplicationUser.Location = PostcodesService.Lookup(newApplicationUser.Postcode); } if (IsUserAuthenticated) { var result2 = await userManager.UpdateAsync(newApplicationUser); if (result2.Succeeded) { return(Ok()); } return(BadRequest(string.Join(", ", result2.Errors))); } var result = await userManager.CreateAsync(newApplicationUser, password); if (result.Succeeded) { return(Ok()); } return(BadRequest(string.Join(", ", result.Errors))); } string validationErrors = string.Join(",", ModelState.Values.Where(E => E.Errors.Count > 0) .SelectMany(E => E.Errors) .Select(E => E.ErrorMessage) .ToArray()); return(BadRequest(validationErrors)); } return(BadRequest("registration data is null.")); }