Example #1
0
        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());
        }
Example #2
0
        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());
        }
Example #4
0
        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);
        }