private void DoWork(object state) { Console.WriteLine("Timed Background Service is working."); Console.WriteLine("Estoy corriendo cada 5 secs"); using (var scope = _scopeFactory.CreateScope()) { IRipeningServices ripeningServices = scope.ServiceProvider.GetRequiredService <IRipeningServices>(); IExperimentServices experimentServices = scope.ServiceProvider.GetRequiredService <IExperimentServices>(); Ripening ripening = ripeningServices.GetCurrentRipening().Result; Experiment experiment = experimentServices.GetCurrentExperiment().Result; string message = ""; if (ripening != null) { DateTime ripeDay = DateTime.Now.AddDays(ripening.Cheese.DaysToRipe); if (ripeDay < DateTime.Now) { message += "¡Tu maduracion esta lista!"; } } if (experiment != null && experiment.EstimatedEndTime < DateTime.Now) { message += "¡Tu experimento esta listo!"; } if (!string.IsNullOrEmpty(message)) { string token = TokenRepository.GetInstance().FirebaseToken; _messaging.SendNotification(token, "Maduracion Terminada", message); } } }
public ExperimentsController(CheeseContext context, IExperimentServices experimentServices, ICloudinaryServices cloudinaryServices) { _context = context; _experimentServices = experimentServices; _cloudinaryServices = cloudinaryServices; }