public override EventStream LoadEventStream(Type eventType, IEventStoreAggregateId eventStoreAggregateId, long version) { Type supportedEventType = typeof(SellableInventoryItemEntryMvoEventBase); if (!eventType.IsAssignableFrom(supportedEventType)) { throw new NotSupportedException(); } SellableInventoryItemEntryId idObj = (SellableInventoryItemEntryId)(eventStoreAggregateId as EventStoreAggregateId).Id; var criteria = CurrentSession.CreateCriteria <SellableInventoryItemEntryMvoEventBase>(); criteria.Add(Restrictions.Eq("SellableInventoryItemEntryMvoEventId.SellableInventoryItemEntryIdSellableInventoryItemIdProductId", idObj.SellableInventoryItemId.ProductId)); criteria.Add(Restrictions.Eq("SellableInventoryItemEntryMvoEventId.SellableInventoryItemEntryIdSellableInventoryItemIdLocatorId", idObj.SellableInventoryItemId.LocatorId)); criteria.Add(Restrictions.Eq("SellableInventoryItemEntryMvoEventId.SellableInventoryItemEntryIdSellableInventoryItemIdAttributeSetInstanceId", idObj.SellableInventoryItemId.AttributeSetInstanceId)); criteria.Add(Restrictions.Eq("SellableInventoryItemEntryMvoEventId.SellableInventoryItemEntryIdEntrySeqId", idObj.EntrySeqId)); criteria.Add(Restrictions.Le("SellableInventoryItemEntryMvoEventId.SellableInventoryItemVersion", version)); criteria.AddOrder(global::NHibernate.Criterion.Order.Asc("SellableInventoryItemEntryMvoEventId.SellableInventoryItemVersion")); var es = criteria.List <IEvent>(); foreach (SellableInventoryItemEntryMvoEventBase e in es) { e.EventReadOnly = true; } return(new EventStream() { SteamVersion = es.Count > 0 ? ((SellableInventoryItemEntryMvoEventBase)es.Last()).SellableInventoryItemEntryMvoEventId.SellableInventoryItemVersion : default(long), Events = es }); }
public static string ToIdString(SellableInventoryItemEntryId id) { var formatter = (new ValueObjectTextFormatter <SellableInventoryItemEntryId>()); var idStr = formatter.ToString(id); return(idStr); }
public ISellableInventoryItemEntryMvoState Get(SellableInventoryItemEntryId id) { ISellableInventoryItemEntryMvoState state = CurrentSession.Get <SellableInventoryItemEntryMvoState>(id); if (ReadOnlyProxyGenerator != null && state != null) { return(ReadOnlyProxyGenerator.CreateProxy <ISellableInventoryItemEntryMvoState>(state, new Type[] { }, _readOnlyPropertyNames)); } return(state); }
public ISellableInventoryItemEntryState Get(SellableInventoryItemEntryId id, bool nullAllowed) { ISellableInventoryItemEntryState state = CurrentSession.Get <SellableInventoryItemEntryState>(id); if (!nullAllowed && state == null) { state = new SellableInventoryItemEntryState(); (state as SellableInventoryItemEntryState).SellableInventoryItemEntryId = id; } return(state); }
public virtual ISellableInventoryItemEntryMvoEvent GetEvent(SellableInventoryItemEntryId sellableInventoryItemEntryId, long version) { var e = (ISellableInventoryItemEntryMvoEvent)EventStore.GetEvent(ToEventStoreAggregateId(sellableInventoryItemEntryId), version); if (e != null) { e.ReadOnly = true; } else if (version == -1) { return(GetEvent(sellableInventoryItemEntryId, 0)); } return(e); }
public async Task <ISellableInventoryItemEntryMvoState> GetHistoryStateAsync(SellableInventoryItemEntryId sellableInventoryItemEntryId, long version) { var idObj = SellableInventoryItemEntryMvoProxyUtils.ToIdString(sellableInventoryItemEntryId); var uriParameters = new SellableInventoryItemEntryMvoHistoryStateUriParameters(); uriParameters.Id = idObj; uriParameters.Version = version.ToString(); var req = new SellableInventoryItemEntryMvoHistoryStateGetRequest(uriParameters); var resp = await _ramlClient.SellableInventoryItemEntryMvoHistoryState.Get(req); SellableInventoryItemEntryMvoProxyUtils.ThrowOnHttpResponseError(resp); return((resp.Content == null) ? null : resp.Content.ToSellableInventoryItemEntryMvoState()); }
public ISellableInventoryItemEntryMvoState Get(SellableInventoryItemEntryId id, bool nullAllowed) { ISellableInventoryItemEntryMvoState state = CurrentSession.Get <SellableInventoryItemEntryMvoState> (id); if (!nullAllowed && state == null) { state = new SellableInventoryItemEntryMvoState(); (state as SellableInventoryItemEntryMvoState).SellableInventoryItemEntryId = id; } if (ReadOnlyProxyGenerator != null && state != null) { return(ReadOnlyProxyGenerator.CreateProxy <ISellableInventoryItemEntryMvoState>(state, new Type[] { }, _readOnlyPropertyNames)); } return(state); }
public async Task <ISellableInventoryItemEntryMvoState> GetAsync(SellableInventoryItemEntryId sellableInventoryItemEntryId) { ISellableInventoryItemEntryMvoState state = null; var idObj = SellableInventoryItemEntryMvoProxyUtils.ToIdString(sellableInventoryItemEntryId); var uriParameters = new SellableInventoryItemEntryMvoUriParameters(); uriParameters.Id = idObj; var req = new SellableInventoryItemEntryMvoGetRequest(uriParameters); var resp = await _ramlClient.SellableInventoryItemEntryMvo.Get(req); SellableInventoryItemEntryMvoProxyUtils.ThrowOnHttpResponseError(resp); state = (resp.Content == null) ? null : resp.Content.ToSellableInventoryItemEntryMvoState(); return(state); }
public SellableInventoryItemEntryMvoEventId(SellableInventoryItemEntryId sellableInventoryItemEntryId, long sellableInventoryItemVersion) { this._sellableInventoryItemEntryId = sellableInventoryItemEntryId; this._sellableInventoryItemVersion = sellableInventoryItemVersion; }
public abstract IEventStoreAggregateId ToEventStoreAggregateId(SellableInventoryItemEntryId aggregateId);
public virtual ISellableInventoryItemEntryMvoState GetHistoryState(SellableInventoryItemEntryId sellableInventoryItemEntryId, long version) { var eventStream = EventStore.LoadEventStream(typeof(ISellableInventoryItemEntryMvoEvent), ToEventStoreAggregateId(sellableInventoryItemEntryId), version - 1); return(new SellableInventoryItemEntryMvoState(eventStream.Events)); }
public virtual ISellableInventoryItemEntryMvoState Get(SellableInventoryItemEntryId sellableInventoryItemEntryId) { var state = StateRepository.Get(sellableInventoryItemEntryId, true); return(state); }
public virtual ISellableInventoryItemEntryMvoState GetHistoryState(SellableInventoryItemEntryId sellableInventoryItemEntryId, long version) { return(GetHistoryStateAsync(sellableInventoryItemEntryId, version).GetAwaiter().GetResult()); }
public ISellableInventoryItemEntryMvoEvent GetEvent(SellableInventoryItemEntryId sellableInventoryItemEntryId, long version) { return(GetStateEventAsync(sellableInventoryItemEntryId, version).GetAwaiter().GetResult()); }
public ISellableInventoryItemEntryMvoState Get(SellableInventoryItemEntryId sellableInventoryItemEntryId) { return(GetAsync(sellableInventoryItemEntryId).GetAwaiter().GetResult()); }
public virtual ISellableInventoryItemEntryState GetSellableInventoryItemEntry(InventoryItemId sellableInventoryItemId, long entrySeqId) { var entityId = new SellableInventoryItemEntryId(sellableInventoryItemId, entrySeqId); return CurrentSession.Get<SellableInventoryItemEntryState>(entityId); }
public override IEventStoreAggregateId ToEventStoreAggregateId(SellableInventoryItemEntryId aggregateId) { return(new EventStoreAggregateId(aggregateId)); }