Ejemplo n.º 1
0
        public async Task <IActionResult> Create(CreateEmployerViewModel model)
        {
            var user1 = _userManager.GetUserName(User);

            var user = new ApplicationUser()
            {
                Email = HttpContext.User.Identity.Name
            };
            var user2 = new ApplicationUser()
            {
                UserName = user1, Email = user1
            };

            var u  = user;
            var u2 = user2;

            var newEmployer = new Search_Work.Models.ArreaDatabase.Employer();

            newEmployer.Id          = Guid.NewGuid();
            newEmployer.AccountUser = user;

            //Create Role
            // await _userManager.AddToRoleAsync(u, "Employer");
            await _userManager.AddToRoleAsync(u2, "Employer");

            //  await _userManager.AddToRoleAsync(user, "Employer");

            db.Employers.Add(newEmployer);
            await db.SaveChangesAsync();

            return(RedirectToAction(nameof(PageIsExistCompany), new { empId = newEmployer.Id }));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create(CreateEmployerViewModel model)
        {
            if (!(await _roleManager.RoleExistsAsync("Employer")))
            {
                await _roleManager.CreateAsync(new IdentityRole("Employer"));
            }
            var employer = new User
            {
                UserName = model.Username,
                Email    = model.Email
            };
            var result = await _userManager.CreateAsync(employer, model.Password);

            if (!result.Succeeded)
            {
                return(BadRequest(result));
            }

            //Send Email
            var token = await _userManager.GenerateEmailConfirmationTokenAsync(employer);

            var confirmEmailUrl = Request.Headers["confirmEmailUrl"];//http://localhost:4200/email-confirm

            var uriBuilder = new UriBuilder(confirmEmailUrl);
            var query      = HttpUtility.ParseQueryString(uriBuilder.Query);

            query["token"]   = token;
            query["userid"]  = employer.Id;
            uriBuilder.Query = query.ToString();
            var urlString = uriBuilder.ToString();

            var emailBody = $"Please confirm your email by clicking on the link below </br>{urlString}";
            await _email.Send(model.Email, emailBody, _emailOptions.Value);

            //////////////////

            var userFromDb = await _userManager.FindByNameAsync(employer.UserName);

            await _userManager.AddToRoleAsync(userFromDb, "Employer");

            return(Ok(result));
        }
Ejemplo n.º 3
0
        public IActionResult Create()
        {
            var model = new CreateEmployerViewModel();

            return(View(model));
        }