mirror of
https://github.com/Stefan-5422/-T5-Elektrifikatsiya.git
synced 2026-09-04 00:45:58 +02:00
Last minute fix fix
This commit is contained in:
+31
-21
@@ -1,29 +1,39 @@
|
|||||||
namespace Elektrifikatsiya.Services.Implementations;
|
using Elektrifikatsiya.Database;
|
||||||
|
using Elektrifikatsiya.Models;
|
||||||
|
|
||||||
|
namespace Elektrifikatsiya.Services.Implementations;
|
||||||
|
|
||||||
public class NotifcationService : INotificationService
|
public class NotifcationService : INotificationService
|
||||||
{
|
{
|
||||||
private readonly IEmailService emailService;
|
public TimeSpan ExecutionRepeatDelay => TimeSpan.FromDays(1);
|
||||||
private readonly IEnergyPriceService energyPriceService;
|
public DateTime FirstExecutionTime => DateTime.Now.AddDays(0);
|
||||||
private readonly Microsoft.Extensions.Configuration.IConfiguration configuration;
|
private readonly Microsoft.Extensions.Configuration.IConfiguration configuration;
|
||||||
private readonly ILogger<NotifcationService> logger;
|
private readonly IEmailService emailService;
|
||||||
public TimeSpan ExecutionRepeatDelay => TimeSpan.FromDays(1);
|
private readonly IEnergyPriceService energyPriceService;
|
||||||
public DateTime FirstExecutionTime => DateTime.Now.AddDays(0);
|
private readonly ILogger<NotifcationService> logger;
|
||||||
|
private readonly MainDatabaseContext mainDatabaseContext;
|
||||||
|
|
||||||
public NotifcationService(ILogger<NotifcationService> logger, IEmailService emailService, IEnergyPriceService energyPriceService, Microsoft.Extensions.Configuration.IConfiguration configuration)
|
public NotifcationService(ILogger<NotifcationService> logger, IEmailService emailService, IEnergyPriceService energyPriceService, Microsoft.Extensions.Configuration.IConfiguration configuration, IServiceScopeFactory serviceScopeFactory)
|
||||||
{
|
{
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
this.emailService = emailService;
|
this.emailService = emailService;
|
||||||
this.energyPriceService = energyPriceService;
|
this.energyPriceService = energyPriceService;
|
||||||
this.configuration = configuration;
|
this.configuration = configuration;
|
||||||
}
|
|
||||||
|
|
||||||
public async void Update()
|
mainDatabaseContext = serviceScopeFactory.CreateScope().ServiceProvider.GetRequiredService<MainDatabaseContext>();
|
||||||
{
|
}
|
||||||
logger.LogInformation("Sending Email");
|
|
||||||
|
|
||||||
string url = configuration.GetValue<string>("Url") ?? "https://http.cat/images/404.jpg";
|
public async void Update()
|
||||||
|
{
|
||||||
|
logger.LogInformation("Sending Email");
|
||||||
|
|
||||||
await emailService.SendWithTemeplateAsync("[email protected]", "Daily Notification", "DailyNotification", templateParameters: new() { { "yesterday", $"{energyPriceService.DailyEnergyCost:F2}" }, { "yearly", $"{energyPriceService.YearlyEnergyCost:F2}" }, { "link", url } });
|
string url = configuration.GetValue<string>("Url") ?? "https://http.cat/images/404.jpg";
|
||||||
logger.LogInformation("Done sending");
|
|
||||||
}
|
await foreach (User user in mainDatabaseContext.Users)
|
||||||
|
{
|
||||||
|
await emailService.SendWithTemeplateAsync(user.Email, "Daily Notification", "DailyNotification", templateParameters: new() { { "yesterday", $"{energyPriceService.DailyEnergyCost:F2}" }, { "yearly", $"{energyPriceService.YearlyEnergyCost:F2}" }, { "link", url } });
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.LogInformation("Done sending");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user