コード例 #1
0
        public void Initialize(TeclynApi teclyn)
        {
            MvcApplicationExtensions.SetTeclyn(teclyn);

            // Singletons
            teclyn.Get <IIocContainer>().RegisterSingleton <CommandPropertyRendererFactory>();

            // Renderers
            teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new IdRenderer());
            teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new StringRenderer());
            teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new BooleanRenderer());
            teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new DateTimeRenderer());
            teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new DoubleRenderer());
            teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new IntegerRenderer());

            // MVC
            System.Web.Mvc.ModelBinders.Binders.Add(typeof(IBaseCommand), new CommandModelBinder(teclyn));
            System.Web.Mvc.ModelBinders.Binders.Add(typeof(string), new IdModelBinder());
            HostingEnvironment.RegisterVirtualPathProvider(new TeclynVirtualPathProvider());
            DependencyResolver.SetResolver(teclyn.Get <TeclynBasicServiceLocator>());

            //var module = new VirtualFileSystemHttpModule();
            //module.Init(HttpContext.Current.ApplicationInstance);
            //HttpApplication.RegisterModule(typeof(VirtualFileSystemHttpModule));
        }
コード例 #2
0
ファイル: QueryService.cs プロジェクト: virajs/teclyn
 public QueryService(ITeclynContext context, TeclynApi teclyn, IIocContainer iocContainer, MetadataRepository metadataRepository)
 {
     this.context            = context;
     this.teclyn             = teclyn;
     this.iocContainer       = iocContainer;
     this.metadataRepository = metadataRepository;
 }
コード例 #3
0
ファイル: EventServiceTests.cs プロジェクト: virajs/teclyn
        public EventServiceTests()
        {
            var teclyn = new TeclynApi(new TeclynTestConfiguration());

            this.eventService = teclyn.Get <IEventService>();
            this.repository   = teclyn.Get <IRepository <DummyAggregate> >();
        }
コード例 #4
0
ファイル: Global.asax.cs プロジェクト: virajs/teclyn
        protected async void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var configuration = new TeclynWebConfiguration();
            //configuration.UseStructureMap(StructuremapMvc.Container);
            //configuration.UseMongodbDatabase("TeclynSampleMVC");
            var teclyn       = new TeclynApi(configuration);
            var eventService = teclyn.Get <IEventService>();

            configuration.DropDatabase();

            await eventService.Raise(new TodoListCreatedEvent
            {
                AggregateId = "list-1",
                Name        = "First List",
            });

            await eventService.Raise(new TodoListCreatedEvent
            {
                AggregateId = "list-2",
                Name        = "Second List",
            });

            await eventService.Raise(new TodoListCreatedEvent
            {
                AggregateId = "list-3",
                Name        = "Third List",
            });

            await eventService.Raise(new TodoListCreatedEvent
            {
                AggregateId = "list-4",
                Name        = "Fourth List",
            });

            await eventService.Raise(new TodoCreatedEvent
            {
                AggregateId  = "todo-10",
                TodoListName = "First List",
                TodoListId   = "list-1",
                Text         = "Test"
            });
        }
コード例 #5
0
ファイル: PropertyCommandTests.cs プロジェクト: virajs/teclyn
        public PropertyCommandTests()
        {
            this.teclyn            = new TeclynApi(new TeclynTestConfiguration());
            this.repositoryService = teclyn.Get <RepositoryService>();
            this.commandService    = teclyn.Get <CommandService>();

            this.repositoryService.Register(typeof(DummyAggregate), typeof(DummyAggregate), typeof(DummyAggregate).Name, null, null);

            this.aggregate = new DummyAggregate
            {
                Value = "value",
                Id    = aggregateId,
            };

            var repository = this.teclyn.Get <IRepository <DummyAggregate> >();

            repository.Create(aggregate);
        }
コード例 #6
0
 public QueryExecutionResult(TeclynApi teclyn)
 {
     this.Teclyn = teclyn;
 }
コード例 #7
0
 public void Initialize(TeclynApi teclyn)
 {
 }
コード例 #8
0
 public static void SetTeclyn(TeclynApi teclyn)
 {
     HttpContext.Current.Application[teclynApplicationKey] = teclyn;
 }
コード例 #9
0
 public static async Task <TAggregate> GetAggregate <TAggregate>(this IEvent <TAggregate> @event, TeclynApi teclyn) where TAggregate : class, IAggregate
 {
     return(await teclyn.Get <IRepository <TAggregate> >().GetById(@event.AggregateId));
 }
コード例 #10
0
ファイル: Program.cs プロジェクト: klejeune/teclyn
 static void Main(string[] args)
 {
     var teclyn = new TeclynApi(null);
 }
コード例 #11
0
 public CommandExecutionContext(TeclynApi teclyn)
 {
     this.Teclyn = teclyn;
 }
コード例 #12
0
ファイル: SampleWebPlugin.cs プロジェクト: virajs/teclyn
 public void Initialize(TeclynApi teclyn)
 {
     teclyn.Get <CommandPropertyRendererFactory>().RegisterRenderer(new TinyMceRenderer());
 }
コード例 #13
0
 public CommandExecutionResult(TeclynApi teclyn)
 {
     this.Teclyn = teclyn;
 }
コード例 #14
0
 public RepositoryService(TeclynApi teclyn, IIocContainer iocContainer, IEventHandlerService eventHandlerService)
 {
     this.teclyn              = teclyn;
     this.iocContainer        = iocContainer;
     this.eventHandlerService = eventHandlerService;
 }
コード例 #15
0
ファイル: Program.cs プロジェクト: virajs/teclyn
 static void Main(string[] args)
 {
     var teclyn = new TeclynApi(typeof(ITodo).Assembly);
 }
コード例 #16
0
ファイル: CommandModelBinder.cs プロジェクト: virajs/teclyn
 public CommandModelBinder(TeclynApi teclyn)
 {
     this.teclyn = teclyn;
 }
コード例 #17
0
 public CommandServiceTests()
 {
     this.teclyn = null;//new TeclynApi(new TeclynTestConfiguration());
     this.commandService = null;//teclyn.Get<CommandService>();
 }