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
|
||||
{
|
||||
private readonly IEmailService emailService;
|
||||
private readonly IEnergyPriceService energyPriceService;
|
||||
private readonly Microsoft.Extensions.Configuration.IConfiguration configuration;
|
||||
private readonly ILogger<NotifcationService> logger;
|
||||
public TimeSpan ExecutionRepeatDelay => TimeSpan.FromDays(1);
|
||||
public DateTime FirstExecutionTime => DateTime.Now.AddDays(0);
|
||||
public TimeSpan ExecutionRepeatDelay => TimeSpan.FromDays(1);
|
||||
public DateTime FirstExecutionTime => DateTime.Now.AddDays(0);
|
||||
private readonly Microsoft.Extensions.Configuration.IConfiguration configuration;
|
||||
private readonly IEmailService emailService;
|
||||
private readonly IEnergyPriceService energyPriceService;
|
||||
private readonly ILogger<NotifcationService> logger;
|
||||
private readonly MainDatabaseContext mainDatabaseContext;
|
||||
|
||||
public NotifcationService(ILogger<NotifcationService> logger, IEmailService emailService, IEnergyPriceService energyPriceService, Microsoft.Extensions.Configuration.IConfiguration configuration)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.emailService = emailService;
|
||||
this.energyPriceService = energyPriceService;
|
||||
this.configuration = configuration;
|
||||
}
|
||||
public NotifcationService(ILogger<NotifcationService> logger, IEmailService emailService, IEnergyPriceService energyPriceService, Microsoft.Extensions.Configuration.IConfiguration configuration, IServiceScopeFactory serviceScopeFactory)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.emailService = emailService;
|
||||
this.energyPriceService = energyPriceService;
|
||||
this.configuration = configuration;
|
||||
|
||||
public async void Update()
|
||||
{
|
||||
logger.LogInformation("Sending Email");
|
||||
mainDatabaseContext = serviceScopeFactory.CreateScope().ServiceProvider.GetRequiredService<MainDatabaseContext>();
|
||||
}
|
||||
|
||||
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 } });
|
||||
logger.LogInformation("Done sending");
|
||||
}
|
||||
string url = configuration.GetValue<string>("Url") ?? "https://http.cat/images/404.jpg";
|
||||
|
||||
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