public IActionResult Create(CreateAccountViewModel viewModel) { // If basic syntax check returns false return to view with proper messages // defined in view model annotations. if (!ModelState.IsValid) { return(View()); } Profile addedProfile = UserAccountServiceLogic.CreateProfile(viewModel); User addedUser = addedUser = UserAccountServiceLogic.CreateUser(viewModel, addedProfile); addedProfile.User = addedUser; if (UserAccountServiceLogic.AddUserAndDependenciesToDB(addedUser, userManager, viewModel, context).Result) { ViewBag.Message = localizer["CreateSuccess"]; return(RedirectToAction("Login")); } else { ViewBag.Message = localizer["CreateFail"]; return(View()); } }
public async Task <IActionResult> Login(LogInViewModel viewModel) { // If basic syntax check returns false return to view with proper messages // defined in view model annotations. if (!ModelState.IsValid) { return(View()); } // Check if account is locked. if (UserAccountServiceLogic.IsAccountLocked(context, viewModel)) { return(View("Locked")); } var result = await signInManager.PasswordSignInAsync(viewModel.Login, viewModel.Password, true, false); // Redirect to home page or to specified view if it's name is stored in temporary data. // e.g. saved by other action. if (result.Succeeded) { var redirctPage = (string)TempData["RedirectPage"]; if (redirctPage != null) { return(View(redirctPage)); } return(RedirectToAction("Index", "Home")); } else { ViewBag.Message = localizer["LoginFail"]; return(View()); } }
public async Task <IActionResult> Edit(EditProfileViewModel viewModel) { if (!ModelState.IsValid) { // Form validation error. return(RedirectToAction("Edit")); } // Get user. User userData = await userManager.GetUserAsync(HttpContext.User); // Get user profile or null if does not exists. Profile profile = context.Profiles.Include(p => p.Address).Where(p => p.User == userData).First(); Address viewModelAddress = new Address { Country = viewModel.Country, Region = viewModel.Region, City = viewModel.City, Street = viewModel.Street, StreetNumber = viewModel.StreetNumber }; bool addressesSimilar = UserAccountServiceLogic.AddressesSimilarCheck(profile.Address, viewModelAddress); // Update address only if it has been changed by user. if (!addressesSimilar) { Address addressInDatabase = SearchEngine.FindAddressByContent(viewModelAddress, context); if (addressInDatabase != null) { profile.Address = addressInDatabase; profile.AddressFK = addressInDatabase.ID; } else { // Address not found in database profile.Address = viewModelAddress; } } // Update all profile fields. profile.FirstName = viewModel.FirstName; profile.LastName = viewModel.LastName; profile.Gender = viewModel.Gender; profile.BirthDate = viewModel.BirthDate; profile.PrefLanguage = viewModel.PrefLanguage; profile.PrefCurrency = viewModel.PrefCurrency; profile.PresonalDescription = viewModel.PresonalDescription; profile.School = viewModel.School; profile.Work = viewModel.Work; profile.BackupEmailAddress = viewModel.BackupEmailAddress; // Commit changes to database. await context.SaveChangesAsync(); return(RedirectToAction("Edit")); }
public async Task <IActionResult> EditNotifications(EditNotificationsViewModel viewModel) { User currentUser = await userManager.GetUserAsync(HttpContext.User); NotificationsSetting notificationsSettings = context.NotificationSettings.Where(s => s.User == currentUser).Single(); UserAccountServiceLogic.CopyNotificationSettings(notificationsSettings, viewModel); await context.SaveChangesAsync(); return(RedirectToAction("Edit")); }
/// <summary> /// Populates database with test users and their profiles. /// </summary> /// <param name="userManager"></param> /// <param name="context"></param> public static void CreateTestUsers(UserManager <User> userManager, AppDbContext context) { List <CreateAccountViewModel> usersData = new List <CreateAccountViewModel> { new CreateAccountViewModel { BirthDate = new DateTime(1990, 1, 1), EmailAddress = "*****@*****.**", FirstName = "Jan", LastName = "Kowalski", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1980, 5, 5), EmailAddress = "*****@*****.**", FirstName = "Preston", LastName = "Davis", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1970, 8, 15), EmailAddress = "*****@*****.**", FirstName = "Andrew", LastName = "Walles", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1992, 12, 1), EmailAddress = "*****@*****.**", FirstName = "Brian", LastName = "May", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1982, 4, 30), EmailAddress = "*****@*****.**", FirstName = "Jack", LastName = "Tasack", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1962, 3, 18), EmailAddress = "*****@*****.**", FirstName = "James", LastName = "May", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1978, 6, 5), EmailAddress = "*****@*****.**", FirstName = "Jim", LastName = "Raynor", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1984, 8, 12), EmailAddress = "*****@*****.**", FirstName = "Sarah", LastName = "Kerrigan", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1976, 12, 1), EmailAddress = "*****@*****.**", FirstName = "Varian", LastName = "Vrynn", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1984, 11, 5), EmailAddress = "*****@*****.**", FirstName = "Jaina", LastName = "Proudmore", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1966, 8, 30), EmailAddress = "*****@*****.**", FirstName = "Arthas", LastName = "Menethil", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1901, 2, 22), EmailAddress = "*****@*****.**", FirstName = "Machete", LastName = "Cortez", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1960, 5, 23), EmailAddress = "*****@*****.**", FirstName = "Peter", LastName = "Griffin", Password = "******" }, new CreateAccountViewModel { BirthDate = new DateTime(1967, 8, 13), EmailAddress = "*****@*****.**", FirstName = "Derwan", LastName = "Gościwuj", Password = "******" }, }; List <Profile> profiles = new List <Profile>(); foreach (CreateAccountViewModel user in usersData) { profiles.Add(UserAccountServiceLogic.CreateProfile(user)); } List <User> users = new List <User>(); int i = 0; foreach (CreateAccountViewModel userData in usersData) { users.Add(UserAccountServiceLogic.CreateUser(userData, profiles[i])); i++; } i = 0; foreach (User user in users) { UserAccountServiceLogic.AddUserAndDependenciesToDB(user, userManager, usersData[i], context).Wait(); i++; } }