Example #1
0
 public void Register(RegisterEventSubcriber request)
 {
     this.ValidateRegisterEventSubcriberRequest(request);
     using (IUnitOfWork uow = new App.Common.Data.UnitOfWork(RepositoryType.MSSQL))
     {
         IEventSubcriberRepository repo      = Common.DI.IoC.Container.Resolve <IEventSubcriberRepository>(uow);
         EventSubcriber            subcriber = new EventSubcriber(request.Key, request.Uri, request.ModuleName);
         repo.Add(subcriber);
         uow.Commit();
     }
 }
Example #2
0
        private void ValidateRegisterEventSubcriberRequest(RegisterEventSubcriber request)
        {
            IValidationException validationException = ValidationHelper.Validate(request);

            IEventSubcriberRepository repo = IoC.Container.Resolve <IEventSubcriberRepository>();

            if (repo.GetItem(request.Key, request.Uri) != null)
            {
                validationException.Add(new ValidationError("messagebus.eventSubscriber.eventKeyAlreadyExsited"));
            }
            validationException.ThrowIfError();
        }
        public override void Execute(TaskArgument <System.Web.HttpApplication> arg)
        {
            if (!this.IsValid(arg.Type))
            {
                return;
            }
            ILogger      logger   = IoC.Container.Resolve <ILogger>();
            string       baseUri  = Configuration.Current.Setting.BaseUri;
            IList <Type> handlers = AssemblyHelper.GetTypes <RemoteEventSubcriberHandler>().ToList();
            IList <EventRegistration> registrations = EventHelper.GetSubcriberRequests(handlers);
            IConnector restConnector = ConnectorFactory.Create(ConnectorType.REST);

            foreach (EventRegistration registration in registrations)
            {
                string fullUri = String.Format("{0}/{1}", baseUri, registration.Uri);
                RegisterEventSubcriber subcriberEvent = new RegisterEventSubcriber(registration.EventClassName, registration.ModuleName, fullUri);
                restConnector.Post <RegisterEventSubcriber, string>(Configurations.Configuration.Current.MessageBus.RegisterEventSubciberUri, subcriberEvent);
                logger.Info("Register uri \'{0}\' to \'{1}\'", subcriberEvent, Configurations.Configuration.Current.MessageBus.RegisterEventSubciberUri);
            }
        }
        public void Register(RegisterEventSubcriber request)
        {
            IEventSubcriberService service = IoC.Container.Resolve <IEventSubcriberService>();

            service.Register(request);
        }