Cant edit values in database with hangfire

i have this method:

public void GiveMoney()
        {
            foreach (Team t in teamRepository.FindAll())
            {
                t.Money+= 5;
                Debug.WriteLine(t.Name);
                teamRepository.SaveChanges();
            }
            
        }

I use this line to call the method every minute:

RecurringJob.AddOrUpdate(() => GiveMoney(), Cron.Minutely);

The method isn’t being called…

This works perfectly however:

RecurringJob.AddOrUpdate(() => Debug.WriteLine("hello"), Cron.Minutely);

So the foreach loop isnt being executed, why?

Are any errors being raised ? Where does teamRepository come from, what is its life-cycle and is it thread safe ?

Is that verbatim code? Off the top of my head, GiveMoney() not instantiated anywhere in a class or even a static.

Not entirely sure here but I would guess that Debug.WriteLine is a static method, but GiveMoney is actually an instance method and in your recurring job the object can’t be instantiated…

THe problem was that I didn’t have a default constructor for my controlle, which delivered some other errors. It all came down to this => i needed to make adjustments to my ninjectwebcommon.cs, more particular, I added this line to registerservices:

Hangfire.GlobalConfiguration.Configuration.UseNinjectActivator(kernel);

please keep in mind that I am speaking without full context, but spawning an ASP.NET controller object to perform a simple DB operation, seems like could be better factored as a static function that both call.