Esempio n. 1
0
        public async Task <bool> Create(ClientCreateModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var user = new UserLoginData
            {
                UserName       = model.CardNumber.Replace(" ", string.Empty),
                Email          = model.Email,
                IsActive       = true,
                OriginUsername = model.CardNumber
            };

            var password = System.Web.Security.Membership.GeneratePassword(8, 2);
            var result   = await _userManager.CreateAsync(user, password);

            if (result.Succeeded)
            {
                await _userManager.AddToRoleAsync(user.Id, _roleService.GetClientRole().Name);

                var configuration = _clientConfigurationService.GetClientConfiguration(model.ConfigurationGroup);

                var client = new Client
                {
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    PhoneNumber = model.PhoneNumber,
                    Email       = model.Email,
                    Address     = model.Address,
                    City        = model.City,
                    ClientId    = user.Id,
                    ClientConfigurationGroupId = configuration.Id
                };



                _context.Clients.Add(client);

                await _context.SaveChangesAsync();

                await _emailService.SendTemplateEmail(model.Email, "Registracija", "RegistrationEmail", new UserRegisterEmailModel
                {
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    Password  = password,
                    UserName  = user.UserName
                });

                return(true);
            }
            return(false);
        }
        public async Task ResetPasswordAndSendEmail(Client client, int passwordLength, int specialCharacters)
        {
            var user        = context.Users.Find(client.ClientId);
            var newPassowrd = System.Web.Security.Membership.GeneratePassword(passwordLength, specialCharacters);

            user.PasswordHash = applicationUserManager.PasswordHasher.HashPassword(newPassowrd);
            var newPasswordEmailModel = new NewPasswordEmailModel
            {
                FirstName   = client.FirstName,
                LastName    = client.LastName,
                NewPassword = newPassowrd
            };
            await emailService.SendTemplateEmail(client.Email,
                                                 Resource.NewPassword,
                                                 "NewPasswordEmail",
                                                 newPasswordEmailModel);

            //await emailService.Send(user.Email, Resource.NewPassword, newPassowrd);
            await context.SaveChangesAsync();
        }
Esempio n. 3
0
        public async Task <bool> AddRefreshToken(RefreshToken token)
        {
            //var existingTokens = context
            //    .RefreshTokens
            //    .Where(r => r.OAuthClientId == token.OAuthClientId && r.UserId == token.UserId)
            //    .ToList();
            //if (existingTokens != null)
            //{
            //    try
            //    {
            //        context.RefreshTokens.RemoveRange(existingTokens);
            //        await context.SaveChangesAsync();
            //    }
            //    catch (Exception e)
            //    {

            //    }
            //}

            context.RefreshTokens.Add(token);
            return(await context.SaveChangesAsync() > 0);
        }