Example #1
0
        public async Task AgentRegister(AgentRegisterDto agentRegister)
        {
            var agent = _mapper.Map <User>(agentRegister);

            agent.ImagePath       = agentRegister.ImagePath;
            agent.AgentProfile.Id = agent.Id;
            agent.EmailConfirmed  = true;
            var result = await _userManager.CreateAsync(agent, agentRegister.Password);

            if (result.Succeeded)
            {
                var currentUser = await _userManager.FindByNameAsync(agent.UserName);

                await _userManager.AddToRoleAsync(currentUser, "Agent");

                string body = string.Empty;
                using (StreamReader reader =
                           new StreamReader(Path.Combine(_env.ContentRootPath, "Templates", "Welcome.html")))
                {
                    body = await reader.ReadToEndAsync();
                }
                var url = "https://realestate20200708014452.azurewebsites.net";

                if (_env.IsDevelopment())
                {
                    url = "http://localhost:4200";
                }
                var code = await _userManager.GenerateEmailConfirmationTokenAsync(agent);

                var email = EmailSendingHelper.RegisterEmail(code, body, agent, _emailSettings.Email, url);
                await _confirmationService.SendEmail(email);
            }
        }
Example #2
0
        public async Task <bool> ForgotPassword(ForgotPasswordDto forgotPasswordDto)
        {
            var user = await _unitOfWork.Repository <User>().GetAsync(u => u.Email == forgotPasswordDto.Email);

            if (user == null || !(await _userManager.IsEmailConfirmedAsync(user)))
            {
                return(false);
            }
            string body = string.Empty;

            using (StreamReader reader =
                       new StreamReader(Path.Combine(_env.ContentRootPath, "Templates", "password.html")))
            {
                body = await reader.ReadToEndAsync();
            }
            var url = "https://realestate20200708014452.azurewebsites.net";

            if (_env.IsDevelopment())
            {
                url = "http://localhost:4200";
            }
            var code = await _userManager.GeneratePasswordResetTokenAsync(user);

            var email = EmailSendingHelper.RegisterEmail(code, body, user, _emailSettings.Email, url);
            await _confirmationService.SendEmail(email);

            return(true);
        }