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(); }
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); }