/// <inheritdoc/> public async Task <(Guid id, bool result, string message)> RegisterAsync(AccountDTO accountDTO) { var user = await _identityContext.Accounts.FirstOrDefaultAsync(a => a.Email == accountDTO.Email && a.Username == accountDTO.Username); if (user != null) { return(Guid.Empty, false, IdentityConstants.USER_ALREADY_EXIST); } user = await _identityContext.Accounts.FirstOrDefaultAsync(a => a.Email == accountDTO.Email); if (user != null) { return(Guid.Empty, false, IdentityConstants.EMAIL_ALREADY_EXIST); } user = await _identityContext.Accounts.FirstOrDefaultAsync(a => a.Username == accountDTO.Username); if (user != null) { return(Guid.Empty, false, IdentityConstants.USERNAME_ALREADY_EXIST); } var account = _mapper.Map <AccountDTO, AccountModel>(accountDTO); await _identityContext.Accounts.AddAsync(account); await _identityContext.SaveChangesAsync(new CancellationToken()); var id = account.Id; return(id, true, IdentityConstants.REGISTRATION_SUCCESS); }
/// <summary> /// Seed application context. /// </summary> /// <param name="context">Application context.</param> public static async Task SeedAsync(IIdentityContext context) { if (!context.Accounts.Any()) { await context.Accounts.AddRangeAsync(GetPreconfiguredAccountModels()); await context.SaveChangesAsync(new CancellationToken()); } }