public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { var user = new HrPortalV2.Models.ApplicationUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("Kullanıcı Parola ile yeni bir hesap oluşturdu."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { userId = user.Id, code = code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "E-postanızı doğrulayın", $"<div style='text-align:center'><img src='http://demo.bilisimkariyer.net/images/logo_bilisimkariyer.png' /><br />Lütfen hesabınızı doğrulayın <a href='{HtmlEncoder.Default.Encode(callbackUrl)} '>buraya tıklayarak</a>.</div>"); if (Input.Role == "Company") { await _userManager.AddToRoleAsync(user, "Company"); } else { await _userManager.AddToRoleAsync(user, "Candidate"); } //await _signInManager.SignInAsync(user, isPersistent: false); return(LocalRedirect("~/Identity/Account/ConfirmSent")); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
private async Task LoadSharedKeyAndQrCodeUriAsync(HrPortalV2.Models.ApplicationUser user) { // Load the authenticator key & QR code URI to display on the form var unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); if (string.IsNullOrEmpty(unformattedKey)) { await _userManager.ResetAuthenticatorKeyAsync(user); unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); } SharedKey = FormatKey(unformattedKey); var email = await _userManager.GetEmailAsync(user); AuthenticatorUri = GenerateQrCodeUri(email, unformattedKey); }
public async Task <IActionResult> OnPostConfirmationAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); // Get the information about the user from the external login provider var info = await _signInManager.GetExternalLoginInfoAsync(); if (info == null) { ErrorMessage = "Error loading external login information during confirmation."; return(RedirectToPage("./Login", new { ReturnUrl = returnUrl })); } if (ModelState.IsValid) { var user = new HrPortalV2.Models.ApplicationUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user); if (result.Succeeded) { result = await _userManager.AddLoginAsync(user, info); if (result.Succeeded) { await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } LoginProvider = info.LoginProvider; ReturnUrl = returnUrl; return(Page()); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity <HrPortalV2.Models.Company>().HasOne(c => c.Country).WithMany(co => co.Companies).HasForeignKey(f => f.CountryId).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <HrPortalV2.Models.Company>().HasOne(c => c.City).WithMany(co => co.Companies).HasForeignKey(f => f.CityId).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <HrPortalV2.Models.Company>().HasOne(c => c.County).WithMany(co => co.Companies).HasForeignKey(f => f.CountyId).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <HrPortalV2.Models.Resume>().HasOne(c => c.Country).WithMany(co => co.Resumes).HasForeignKey(f => f.CountryId).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <HrPortalV2.Models.Resume>().HasOne(c => c.City).WithMany(co => co.Resumes).HasForeignKey(f => f.CityId).OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <HrPortalV2.Models.Resume>().HasOne(c => c.County).WithMany(co => co.Resumes).HasForeignKey(f => f.CountyId).OnDelete(DeleteBehavior.Restrict); // create roles and users var adminRole = new IdentityRole { Id = Guid.NewGuid().ToString(), Name = "Admin", ConcurrencyStamp = "Admin", NormalizedName = "ADMIN" }; var companyRole = new IdentityRole { Id = Guid.NewGuid().ToString(), Name = "Company", ConcurrencyStamp = "Company", NormalizedName = "COMPANY" }; var candidateRole = new IdentityRole { Id = Guid.NewGuid().ToString(), Name = "Candidate", ConcurrencyStamp = "Candidate", NormalizedName = "CANDIDATE" }; var adminUser = new HrPortalV2.Models.ApplicationUser { Id = Guid.NewGuid().ToString(), Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", UserName = "******", NormalizedUserName = "******", EmailConfirmed = true, PasswordHash = "AQAAAAEAACcQAAAAEDvyQ5fzBhHIGG+XvlWnHOPQFj8vzwsWagAXr+MVJnsKsfr5OKE4nInSitz6gyg3cA==", SecurityStamp = "X4J75DO73ZV6MVW7DRVYPDOIUHHZQ7PM", ConcurrencyStamp = "1", AccessFailedCount = 0, PhoneNumberConfirmed = false, TwoFactorEnabled = false, LockoutEnabled = true }; var companyUser = new HrPortalV2.Models.ApplicationUser { Id = Guid.NewGuid().ToString(), Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", UserName = "******", NormalizedUserName = "******", EmailConfirmed = true, PasswordHash = "AQAAAAEAACcQAAAAEDvyQ5fzBhHIGG+XvlWnHOPQFj8vzwsWagAXr+MVJnsKsfr5OKE4nInSitz6gyg3cA==", SecurityStamp = "X4J75DO73ZV6MVW7DRVYPDOIUHHZQ7PM", ConcurrencyStamp = "1", AccessFailedCount = 0, PhoneNumberConfirmed = false, TwoFactorEnabled = false, LockoutEnabled = true }; var candidateUser = new HrPortalV2.Models.ApplicationUser { Id = Guid.NewGuid().ToString(), Email = "*****@*****.**", NormalizedEmail = "*****@*****.**", UserName = "******", NormalizedUserName = "******", EmailConfirmed = true, PasswordHash = "AQAAAAEAACcQAAAAEDvyQ5fzBhHIGG+XvlWnHOPQFj8vzwsWagAXr+MVJnsKsfr5OKE4nInSitz6gyg3cA==", SecurityStamp = "X4J75DO73ZV6MVW7DRVYPDOIUHHZQ7PM", ConcurrencyStamp = "1", AccessFailedCount = 0, PhoneNumberConfirmed = false, TwoFactorEnabled = false, LockoutEnabled = true }; // add roles modelBuilder.Entity <IdentityRole>().HasData(adminRole); modelBuilder.Entity <IdentityRole>().HasData(companyRole); modelBuilder.Entity <IdentityRole>().HasData(candidateRole); // add users modelBuilder.Entity <HrPortalV2.Models.ApplicationUser>().HasData(adminUser); modelBuilder.Entity <HrPortalV2.Models.ApplicationUser>().HasData(companyUser); modelBuilder.Entity <HrPortalV2.Models.ApplicationUser>().HasData(candidateUser); // add user roles modelBuilder.Entity <IdentityUserRole <string> >().HasData(new IdentityUserRole <string> { UserId = adminUser.Id, RoleId = adminRole.Id }); modelBuilder.Entity <IdentityUserRole <string> >().HasData(new IdentityUserRole <string> { UserId = companyUser.Id, RoleId = companyRole.Id }); modelBuilder.Entity <IdentityUserRole <string> >().HasData(new IdentityUserRole <string> { UserId = candidateUser.Id, RoleId = candidateRole.Id }); // add Eğitim sector modelBuilder.Entity <HrPortalV2.Models.Sector>().HasData(new HrPortalV2.Models.Sector { Id = "1", Name = "Eğitim", CreateDate = DateTime.Now, CreatedBy = adminUser.UserName, UpdateDate = DateTime.Now, UpdatedBy = adminUser.UserName, IPAddress = "127.0.0.1" }); // create sample country, city and county var turkeyCountry = new HrPortalV2.Models.Country { Id = Guid.NewGuid().ToString(), Name = "Türkiye", CreateDate = DateTime.Now, CreatedBy = adminUser.UserName, UpdateDate = DateTime.Now, UpdatedBy = adminUser.UserName, IPAddress = "127.0.0.1" }; var istanbulCity = new HrPortalV2.Models.City { Id = Guid.NewGuid().ToString(), Name = "İstanbul", CountryId = turkeyCountry.Id, CreateDate = DateTime.Now, CreatedBy = adminUser.UserName, UpdateDate = DateTime.Now, UpdatedBy = adminUser.UserName, IPAddress = "127.0.0.1" }; var kadikoyCounty = new HrPortalV2.Models.County { Id = Guid.NewGuid().ToString(), Name = "Kadıköy", CityId = istanbulCity.Id, CreateDate = DateTime.Now, CreatedBy = adminUser.UserName, UpdateDate = DateTime.Now, UpdatedBy = adminUser.UserName, IPAddress = "127.0.0.1" }; // add sample country, city and county modelBuilder.Entity <HrPortalV2.Models.Country>().HasData(turkeyCountry); modelBuilder.Entity <HrPortalV2.Models.City>().HasData(istanbulCity); modelBuilder.Entity <HrPortalV2.Models.County>().HasData(kadikoyCounty); var yazilimOccupucation = new HrPortalV2.Models.Occupation { Id = Guid.NewGuid().ToString(), Name = "Yazılım Uzmanı", CreateDate = DateTime.Now, CreatedBy = adminUser.UserName, UpdateDate = DateTime.Now, UpdatedBy = adminUser.UserName, IPAddress = "127.0.0.1" }; modelBuilder.Entity <HrPortalV2.Models.Occupation>().HasData(yazilimOccupucation); }