Exemple #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);
        }
Exemple #2
0
 public EnvioRepository(EnvioConversor EnvioConversor, IPaqDBFactory factory)
 {
     this.Conversor = EnvioConversor;
     this.Factory   = factory;
 }