public override EventStream LoadEventStream(Type eventType, IEventStoreAggregateId eventStoreAggregateId, long version)
        {
            Type supportedEventType = typeof(UserLoginMvoStateEventBase);

            if (!eventType.IsAssignableFrom(supportedEventType))
            {
                throw new NotSupportedException();
            }
            UserLoginId idObj    = (UserLoginId)(eventStoreAggregateId as EventStoreAggregateId).Id;
            var         criteria = CurrentSession.CreateCriteria <UserLoginMvoStateEventBase>();

            criteria.Add(Restrictions.Eq("StateEventId.UserLoginIdUserId", idObj.UserId));
            criteria.Add(Restrictions.Eq("StateEventId.UserLoginIdLoginKeyLoginProvider", idObj.LoginKeyLoginProvider));
            criteria.Add(Restrictions.Eq("StateEventId.UserLoginIdLoginKeyProviderKey", idObj.LoginKeyProviderKey));
            criteria.Add(Restrictions.Le("StateEventId.UserVersion", version));
            criteria.AddOrder(Order.Asc("StateEventId.UserVersion"));
            var es = criteria.List <IEvent>();

            foreach (UserLoginMvoStateEventBase e in es)
            {
                e.StateEventReadOnly = true;
            }
            return(new EventStream()
            {
                SteamVersion = es.Count > 0 ? ((UserLoginMvoStateEventBase)es.Last()).StateEventId.UserVersion : default(long),
                Events = es
            });
        }
Exemplo n.º 2
0
        public static string ToIdString(UserLoginId id)
        {
            var formatter = new UserLoginIdFlattenedDtoFormatter();
            var idDto     = new UserLoginIdFlattenedDto(id);
            var idStr     = formatter.ToString(idDto);

            return(idStr);
        }
        public IUserLoginMvoState Get(UserLoginId id)
        {
            IUserLoginMvoState state = CurrentSession.Get <UserLoginMvoState>(id);

            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IUserLoginMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
Exemplo n.º 4
0
        public IUserLoginState Get(UserLoginId id)
        {
            IUserLoginState state = CurrentSession.Get <UserLoginState>(id);

            if (state == null)
            {
                state = new UserLoginState();
                (state as UserLoginState).UserLoginId = id;
            }
            return(state);
        }
        public virtual IUserLoginMvoStateEvent GetStateEvent(UserLoginId userLoginId, long version)
        {
            var e = (IUserLoginMvoStateEvent)EventStore.GetStateEvent(ToEventStoreAggregateId(userLoginId), version);

            if (e != null)
            {
                e.ReadOnly = true;
            }
            else if (version == -1)
            {
                return(GetStateEvent(userLoginId, 0));
            }
            return(e);
        }
Exemplo n.º 6
0
        public async Task <IUserLoginMvoStateEvent> GetStateEventAsync(UserLoginId userLoginId, long version)
        {
            var idObj         = UserLoginMvoProxyUtils.ToIdString(userLoginId);
            var uriParameters = new UserLoginMvoStateEventUriParameters();

            uriParameters.Id      = idObj;
            uriParameters.Version = version.ToString();

            var req  = new UserLoginMvoStateEventGetRequest(uriParameters);
            var resp = await _ramlClient.UserLoginMvoStateEvent.Get(req);

            UserLoginMvoProxyUtils.ThrowOnHttpResponseError(resp);
            return(resp.Content);
        }
        public IUserLoginMvoState Get(UserLoginId id, bool nullAllowed)
        {
            IUserLoginMvoState state = CurrentSession.Get <UserLoginMvoState> (id);

            if (!nullAllowed && state == null)
            {
                state = new UserLoginMvoState();
                (state as UserLoginMvoState).UserLoginId = id;
            }
            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IUserLoginMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
Exemplo n.º 8
0
        public async Task <IUserLoginMvoState> GetAsync(UserLoginId userLoginId)
        {
            IUserLoginMvoState state = null;
            var idObj         = UserLoginMvoProxyUtils.ToIdString(userLoginId);
            var uriParameters = new UserLoginMvoUriParameters();

            uriParameters.Id = idObj;

            var req = new UserLoginMvoGetRequest(uriParameters);

            var resp = await _ramlClient.UserLoginMvo.Get(req);

            UserLoginMvoProxyUtils.ThrowOnHttpResponseError(resp);
            state = resp.Content;
            return(state);
        }
Exemplo n.º 9
0
 public UserLoginMvoStateEventId(UserLoginId userLoginId, long userVersion)
 {
     this._userLoginId = userLoginId;
     this._userVersion = userVersion;
 }
        public virtual IUserLoginMvoState Get(UserLoginId userLoginId)
        {
            var state = StateRepository.Get(userLoginId, true);

            return(state);
        }
 public abstract IEventStoreAggregateId ToEventStoreAggregateId(UserLoginId aggregateId);
        public virtual IUserLoginMvoState GetHistoryState(UserLoginId userLoginId, long version)
        {
            var eventStream = EventStore.LoadEventStream(typeof(IUserLoginMvoStateEvent), ToEventStoreAggregateId(userLoginId), version - 1);

            return(new UserLoginMvoState(eventStream.Events));
        }
        public virtual IUserLoginState GetUserLogin(string userId, LoginKey loginKey)
        {
            var entityId = new UserLoginId(userId, loginKey);

            return(CurrentSession.Get <UserLoginState>(entityId));
        }
Exemplo n.º 14
0
 public override IEventStoreAggregateId ToEventStoreAggregateId(UserLoginId aggregateId)
 {
     return(new EventStoreAggregateId(aggregateId));
 }
Exemplo n.º 15
0
 public IUserLoginMvoStateEvent GetStateEvent(UserLoginId userLoginId, long version)
 {
     return(GetStateEventAsync(userLoginId, version).GetAwaiter().GetResult());
 }
Exemplo n.º 16
0
 public IUserLoginMvoState Get(UserLoginId userLoginId)
 {
     return(GetAsync(userLoginId).GetAwaiter().GetResult());
 }