Have a class that holds all the interfaces I seriously didn't know how to write this in Google, there must be an answer lying around. Here it goes: 

I'm using Ninject (IoC) and ASP.NET MVC 5. I have a business layer with a couple of classes. Is it ok if I have one class that holds all these classes? Like this:

    public class BusinessLayer : IBusinessLayer
{
    public IOrganizerLogic OrganizerLogic { get; }
    public IParticipantLogic ParticipantLogic { get; }
    public IPaymentLogic PaymentLogic { get; }
    public ITournamentLogic TourmanetLogic { get; }


    public BusinessLayer(IOrganizerLogic organizerLogic, IParticipantLogic participantLogic,
        IPaymentLogic paymentLogic, ITournamentLogic tournamentLogic)
    {
        OrganizerLogic = organizerLogic;
        ParticipantLogic = ParticipantLogic;
        PaymentLogic = PaymentLogic;
        TourmanetLogic = TourmanetLogic;
    }

}
Of corse you could do that, but I think that it breaks some ideas of dependency injection:


You can see the dependencies of a class by looking of the constrcutor (in your case, that is not possible)
You can test classes by mock the dependencies passed to the contructor (in your case you have to mock more because the dependencies are not evident)
You decople dependencies by passing only what you need (also not given in your case)


Instead of creating some granular dependencies of needed objects, your proposal is to create lots of dependencies from a container object that provides a set of objects. I see also the risk, that such a container object tends to grow so it makes the life easier (but conflicts with the idea behind DI).