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