Ejemplo n.º 1
0
        public IUnityContainer GetInstance()
        {
            UnityContainer container = new UnityContainer();

            container.AddNewExtension <Interception>();

            Interceptor          interceptor          = new Interceptor(new InterfaceInterceptor());
            InterceptionBehavior interceptionBehavior = CreateInterceptionBehavior();

            // Envios
            container.RegisterType <IEnvioRepository, EnvioRepository>(interceptor, interceptionBehavior);
            container.RegisterType <IEnvioService, EnvioService>(interceptor, interceptionBehavior);

            // Paquetes
            container.RegisterType <IPaqueteRepository, PaqueteRepository>(interceptor, interceptionBehavior);
            container.RegisterType <IPaqueteService, PaqueteService>(interceptor, interceptionBehavior);

            // Conversores
            PaqueteConversor paqueteConversor = new PaqueteConversor();
            EnvioConversor   envioConversor   = new EnvioConversor(paqueteConversor);

            container.RegisterInstance(typeof(PaqueteConversor), paqueteConversor);
            container.RegisterInstance(typeof(EnvioConversor), envioConversor);

            // dbFactory

            container.RegisterType <IPaqDBFactory, PaqDBFactory>();
            return(container);
        }
Ejemplo n.º 2
0
 public PaqueteRepository(PaqueteConversor paqueteConversor, IPaqDBFactory dbFactory)
 {
     this.paqueteConversor = paqueteConversor;
     this.dbFactory        = dbFactory;
 }