Ejemplo n.º 1
0
        private void RegisterRepository(TinyIoCContainer container)
        {
            var v = TypeScanner
                    .GetTypesOf <IRepository>();

            v.ForEach(type =>
            {
                var interfaceType = type
                                    .GetInterfaces()
                                    .First(x => x != typeof(IRepository));

                var isRadioSong = typeof(ISongRepository) == interfaceType ||
                                  typeof(IRadioSongRepository) == interfaceType;

                var instance = Activator
                               .CreateInstance(type, container.Resolve <IProvider>(isRadioSong ? "song" : "domain"),
                                               container.Resolve <IDbParameter>());

                container.Register(interfaceType, instance);
            });
        }