Beispiel #1
0
        public EventProjection() : base("Projections")
        {
            _projectMethods = new ProjectMethodCollection(GetType());
            _createMethods  = new CreateMethodCollection(GetType());

            ProjectionName = GetType().FullNameInCode();
        }
Beispiel #2
0
        public EventProjection() : base("Projections")
        {
            _projectMethods = new ProjectMethodCollection(GetType());
            _createMethods  = new CreateMethodCollection(GetType());

            // TODO -- get fancier later
            ProjectionName = GetType().FullNameInCode();
        }
Beispiel #3
0
        public EventProjection() : base("Projections")
        {
            _projectMethods = new ProjectMethodCollection(GetType());
            _createMethods  = new CreateMethodCollection(GetType());

            ProjectionName  = GetType().FullNameInCode();
            _inlineTypeName = GetType().ToSuffixedTypeName("InlineProjection");

            _generatedProjection = new Lazy <IProjection>(() =>
            {
                if (_generatedType == null)
                {
                    throw new InvalidOperationException("The EventProjection has not created its inner IProjection");
                }

                var projection = (IProjection)Activator.CreateInstance(_generatedType, this);
                foreach (var setter in _inlineType.Setters)
                {
                    setter.SetInitialValue(projection);
                }

                return(projection);
            });
        }