TelegramDbContext - async
This commit is contained in:
parent
7d6feae7cd
commit
dde9cac96e
@ -37,7 +37,7 @@ public class TelegramDao
|
||||
_dbContextFactory = dbContextFactory;
|
||||
}
|
||||
|
||||
public void RegisterUser(Guid userId, int tenantId, long telegramId)
|
||||
public async Task RegisterUserAsync(Guid userId, int tenantId, long telegramId)
|
||||
{
|
||||
var user = new TelegramUser
|
||||
{
|
||||
@ -46,43 +46,43 @@ public class TelegramDao
|
||||
TelegramUserId = telegramId
|
||||
};
|
||||
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
dbContext.AddOrUpdate(dbContext.Users, user);
|
||||
dbContext.SaveChanges();
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
await dbContext.AddOrUpdateAsync(q => q.Users, user);
|
||||
await dbContext.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public TelegramUser GetUser(Guid userId, int tenantId)
|
||||
public async Task<TelegramUser> GetUserAsync(Guid userId, int tenantId)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
return dbContext.Users.Find(tenantId, userId);
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
return await dbContext.Users.FindAsync(tenantId, userId);
|
||||
}
|
||||
|
||||
public List<TelegramUser> GetUser(long telegramId)
|
||||
public async List<TelegramUser> GetUsersAsync(long telegramId)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
|
||||
return dbContext.Users
|
||||
return await dbContext.Users
|
||||
.AsNoTracking()
|
||||
.Where(r => r.TelegramUserId == telegramId)
|
||||
.ToList();
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public void Delete(Guid userId, int tenantId)
|
||||
public async Task DeleteAsync(Guid userId, int tenantId)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
|
||||
dbContext.Users
|
||||
await dbContext.Users
|
||||
.Where(r => r.PortalUserId == userId)
|
||||
.Where(r => r.TenantId == tenantId)
|
||||
.ExecuteDelete();
|
||||
.ExecuteDeleteAsync();
|
||||
}
|
||||
|
||||
public void Delete(long telegramId)
|
||||
public async void DeleteAsync(long telegramId)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
|
||||
dbContext.Users
|
||||
await dbContext.Users
|
||||
.Where(r => r.TelegramUserId == telegramId)
|
||||
.ExecuteDelete();
|
||||
.ExecuteDeleteAsync();
|
||||
}
|
||||
}
|
||||
|
@ -85,9 +85,9 @@ public class TelegramHelper
|
||||
}
|
||||
}
|
||||
|
||||
public RegStatus UserIsConnected(Guid userId, int tenantId)
|
||||
public async Task<RegStatus> UserIsConnectedAsync(Guid userId, int tenantId)
|
||||
{
|
||||
if (_telegramDao.GetUser(userId, tenantId) != null)
|
||||
if (await _telegramDao.GetUserAsync(userId, tenantId) != null)
|
||||
{
|
||||
return RegStatus.Registered;
|
||||
}
|
||||
@ -111,9 +111,9 @@ public class TelegramHelper
|
||||
_telegramServiceClient.DisableClient(tenantId);
|
||||
}
|
||||
|
||||
public void Disconnect(Guid userId, int tenantId)
|
||||
public async Task DisconnectAsync(Guid userId, int tenantId)
|
||||
{
|
||||
_telegramDao.Delete(userId, tenantId);
|
||||
await _telegramDao.DeleteAsync(userId, tenantId);
|
||||
}
|
||||
|
||||
private bool IsAwaitingRegistration(Guid userId, int tenantId)
|
||||
|
@ -68,7 +68,7 @@ public class UserCommands : CommandContext
|
||||
|
||||
if (tenantId == TenantId)
|
||||
{
|
||||
_telegramDao.RegisterUser(portalUserId, tenantId, telegramUserId);
|
||||
await _telegramDao.RegisterUserAsync(portalUserId, tenantId, telegramUserId);
|
||||
|
||||
await ReplyAsync("Ok!");
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class TelegramHandler
|
||||
|
||||
try
|
||||
{
|
||||
var tgUser = telegramDao.GetUser(Guid.Parse(msg.Reciever), msg.TenantId);
|
||||
var tgUser = await telegramDao.GetUserAsync(Guid.Parse(msg.Reciever), msg.TenantId);
|
||||
|
||||
if (tgUser == null)
|
||||
{
|
||||
|
@ -790,17 +790,17 @@ public class SettingsController : BaseSettingsController
|
||||
/// </summary>
|
||||
/// <returns>0 - not connected, 1 - connected, 2 - awaiting confirmation</returns>
|
||||
[HttpGet("telegramisconnected")]
|
||||
public object TelegramIsConnected()
|
||||
public async Task<object> TelegramIsConnectedAsync()
|
||||
{
|
||||
return (int)_telegramHelper.UserIsConnected(_authContext.CurrentAccount.ID, Tenant.Id);
|
||||
return (int) await _telegramHelper.UserIsConnectedAsync(_authContext.CurrentAccount.ID, Tenant.Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unlinks TelegramBot from your account
|
||||
/// </summary>
|
||||
[HttpDelete("telegramdisconnect")]
|
||||
public void TelegramDisconnect()
|
||||
public async Task TelegramDisconnectAsync()
|
||||
{
|
||||
_telegramHelper.Disconnect(_authContext.CurrentAccount.ID, Tenant.Id);
|
||||
await _telegramHelper.DisconnectAsync(_authContext.CurrentAccount.ID, Tenant.Id);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user