FirebaseDbContext - async
This commit is contained in:
parent
393887f67b
commit
e5749eb986
@ -36,16 +36,16 @@ public class FirebaseDao
|
||||
_dbContextFactory = dbContextFactory;
|
||||
}
|
||||
|
||||
public FireBaseUser RegisterUserDevice(Guid userId, int tenantId, string fbDeviceToken, bool isSubscribed, string application)
|
||||
public async Task<FireBaseUser> RegisterUserDeviceAsync(Guid userId, int tenantId, string fbDeviceToken, bool isSubscribed, string application)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
var user = dbContext.Users
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
var user = await dbContext.Users
|
||||
.AsNoTracking()
|
||||
.Where(r => r.UserId == userId)
|
||||
.Where(r => r.TenantId == tenantId)
|
||||
.Where(r => r.Application == application)
|
||||
.Where(r => r.FirebaseDeviceToken == fbDeviceToken)
|
||||
.FirstOrDefault();
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
|
||||
if (user == null)
|
||||
@ -58,8 +58,8 @@ public class FirebaseDao
|
||||
IsSubscribed = isSubscribed,
|
||||
Application = application
|
||||
};
|
||||
dbContext.Add(newUser);
|
||||
dbContext.SaveChanges();
|
||||
await dbContext.AddAsync(newUser);
|
||||
await dbContext.SaveChangesAsync();
|
||||
|
||||
return newUser;
|
||||
}
|
||||
@ -67,20 +67,20 @@ public class FirebaseDao
|
||||
return user;
|
||||
}
|
||||
|
||||
public List<FireBaseUser> GetUserDeviceTokens(Guid userId, int tenantId, string application)
|
||||
public async Task<List<FireBaseUser>> GetUserDeviceTokensAsync(Guid userId, int tenantId, string application)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
return dbContext.Users
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
return await dbContext.Users
|
||||
.AsNoTracking()
|
||||
.Where(r => r.UserId == userId)
|
||||
.Where(r => r.TenantId == tenantId)
|
||||
.Where(r => r.Application == application)
|
||||
.ToList();
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public FireBaseUser UpdateUser(Guid userId, int tenantId, string fbDeviceToken, bool isSubscribed, string application)
|
||||
public async Task<FireBaseUser> UpdateUserAsync(Guid userId, int tenantId, string fbDeviceToken, bool isSubscribed, string application)
|
||||
{
|
||||
using var dbContext = _dbContextFactory.CreateDbContext();
|
||||
using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
var user = new FireBaseUser
|
||||
{
|
||||
UserId = userId,
|
||||
@ -91,7 +91,7 @@ public class FirebaseDao
|
||||
};
|
||||
|
||||
dbContext.Update(user);
|
||||
dbContext.SaveChanges();
|
||||
await dbContext.SaveChangesAsync();
|
||||
|
||||
return user;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ public class FirebaseHelper
|
||||
_firebaseDao = firebaseDao;
|
||||
}
|
||||
|
||||
public void SendMessage(NotifyMessage msg)
|
||||
public async Task SendMessageAsync(NotifyMessage msg)
|
||||
{
|
||||
var defaultInstance = FirebaseApp.DefaultInstance;
|
||||
if (defaultInstance == null)
|
||||
@ -86,7 +86,7 @@ public class FirebaseHelper
|
||||
|
||||
if (productID == new Guid("{E67BE73D-F9AE-4ce1-8FEC-1880CB518CB4}")) //documents product
|
||||
{
|
||||
fireBaseUser = _firebaseDao.GetUserDeviceTokens(user.Id, msg.TenantId, PushConstants.PushDocAppName);
|
||||
fireBaseUser = await _firebaseDao.GetUserDeviceTokensAsync(user.Id, msg.TenantId, PushConstants.PushDocAppName);
|
||||
}
|
||||
|
||||
foreach (var fb in fireBaseUser)
|
||||
@ -109,19 +109,19 @@ public class FirebaseHelper
|
||||
}
|
||||
}
|
||||
|
||||
public FireBaseUser RegisterUserDevice(string fbDeviceToken, bool isSubscribed, string application)
|
||||
public Task<FireBaseUser> RegisterUserDeviceAsync(string fbDeviceToken, bool isSubscribed, string application)
|
||||
{
|
||||
var userId = _authContext.CurrentAccount.ID;
|
||||
var tenantId = _tenantManager.GetCurrentTenant().Id;
|
||||
|
||||
return _firebaseDao.RegisterUserDevice(userId, tenantId, fbDeviceToken, isSubscribed, application);
|
||||
return _firebaseDao.RegisterUserDeviceAsync(userId, tenantId, fbDeviceToken, isSubscribed, application);
|
||||
}
|
||||
|
||||
public FireBaseUser UpdateUser(string fbDeviceToken, bool isSubscribed, string application)
|
||||
public Task<FireBaseUser> UpdateUserAsync(string fbDeviceToken, bool isSubscribed, string application)
|
||||
{
|
||||
var userId = _authContext.CurrentAccount.ID;
|
||||
var tenantId = _tenantManager.GetCurrentTenant().Id;
|
||||
|
||||
return _firebaseDao.UpdateUser(userId, tenantId, fbDeviceToken, isSubscribed, application);
|
||||
return _firebaseDao.UpdateUserAsync(userId, tenantId, fbDeviceToken, isSubscribed, application);
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ public class PushSender : INotifySender
|
||||
|
||||
public void Init(IDictionary<string, string> properties) { }
|
||||
|
||||
public Task<NoticeSendResult> Send(NotifyMessage m)
|
||||
public async Task<NoticeSendResult> Send(NotifyMessage m)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(m.Content))
|
||||
{
|
||||
@ -52,14 +52,14 @@ public class PushSender : INotifySender
|
||||
{
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
var FirebaseHelper = scope.ServiceProvider.GetService<FirebaseHelper>();
|
||||
FirebaseHelper.SendMessage(m);
|
||||
await FirebaseHelper.SendMessageAsync(m);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.ErrorUnexpected(e);
|
||||
}
|
||||
|
||||
return Task.FromResult(NoticeSendResult.OK);
|
||||
return NoticeSendResult.OK;
|
||||
}
|
||||
}
|
||||
public static class FirebaseSenderExtension
|
||||
|
@ -48,9 +48,9 @@ public class PushController : BaseSettingsController
|
||||
/// </summary>
|
||||
/// <returns>FireBase user</returns>
|
||||
[HttpPost("push/docregisterdevice")]
|
||||
public FireBaseUser DocRegisterPusnNotificationDevice(FirebaseRequestsDto inDto)
|
||||
public Task<FireBaseUser> DocRegisterPusnNotificationDeviceAsync(FirebaseRequestsDto inDto)
|
||||
{
|
||||
return _firebaseHelper.RegisterUserDevice(inDto.FirebaseDeviceToken, inDto.IsSubscribed, PushConstants.PushDocAppName);
|
||||
return _firebaseHelper.RegisterUserDeviceAsync(inDto.FirebaseDeviceToken, inDto.IsSubscribed, PushConstants.PushDocAppName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -58,9 +58,9 @@ public class PushController : BaseSettingsController
|
||||
/// </summary>
|
||||
/// <returns>FireBase user</returns>
|
||||
[HttpPut("push/docsubscribe")]
|
||||
public FireBaseUser SubscribeDocumentsPushNotification(FirebaseRequestsDto inDto)
|
||||
public Task<FireBaseUser> SubscribeDocumentsPushNotificationAsync(FirebaseRequestsDto inDto)
|
||||
{
|
||||
return _firebaseHelper.UpdateUser(inDto.FirebaseDeviceToken, inDto.IsSubscribed, PushConstants.PushDocAppName);
|
||||
return _firebaseHelper.UpdateUserAsync(inDto.FirebaseDeviceToken, inDto.IsSubscribed, PushConstants.PushDocAppName);
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user