public override EventStream LoadEventStream(Type eventType, IEventStoreAggregateId eventStoreAggregateId, long version) { Type supportedEventType = typeof(ShipmentItemMvoEventBase); if (!eventType.IsAssignableFrom(supportedEventType)) { throw new NotSupportedException(); } ShipmentItemId idObj = (ShipmentItemId)(eventStoreAggregateId as EventStoreAggregateId).Id; var criteria = CurrentSession.CreateCriteria <ShipmentItemMvoEventBase>(); criteria.Add(Restrictions.Eq("ShipmentItemMvoEventId.ShipmentItemIdShipmentId", idObj.ShipmentId)); criteria.Add(Restrictions.Eq("ShipmentItemMvoEventId.ShipmentItemIdShipmentItemSeqId", idObj.ShipmentItemSeqId)); criteria.Add(Restrictions.Le("ShipmentItemMvoEventId.ShipmentVersion", version)); criteria.AddOrder(global::NHibernate.Criterion.Order.Asc("ShipmentItemMvoEventId.ShipmentVersion")); var es = criteria.List <IEvent>(); foreach (ShipmentItemMvoEventBase e in es) { e.EventReadOnly = true; } return(new EventStream() { SteamVersion = es.Count > 0 ? ((ShipmentItemMvoEventBase)es.Last()).ShipmentItemMvoEventId.ShipmentVersion : default(long), Events = es }); }
public static string ToIdString(ShipmentItemId id) { var formatter = (new ValueObjectTextFormatter <ShipmentItemId>()); var idStr = formatter.ToString(id); return(idStr); }
public IShipmentItemMvoState Get(ShipmentItemId id) { IShipmentItemMvoState state = CurrentSession.Get <ShipmentItemMvoState>(id); if (ReadOnlyProxyGenerator != null && state != null) { return(ReadOnlyProxyGenerator.CreateProxy <IShipmentItemMvoState>(state, new Type[] { }, _readOnlyPropertyNames)); } return(state); }
public virtual IShipmentItemMvoEvent GetEvent(ShipmentItemId shipmentItemId, long version) { var e = (IShipmentItemMvoEvent)EventStore.GetEvent(ToEventStoreAggregateId(shipmentItemId), version); if (e != null) { e.ReadOnly = true; } else if (version == -1) { return(GetEvent(shipmentItemId, 0)); } return(e); }
public async Task <IShipmentItemMvoState> GetHistoryStateAsync(ShipmentItemId shipmentItemId, long version) { var idObj = ShipmentItemMvoProxyUtils.ToIdString(shipmentItemId); var uriParameters = new ShipmentItemMvoHistoryStateUriParameters(); uriParameters.Id = idObj; uriParameters.Version = version.ToString(); var req = new ShipmentItemMvoHistoryStateGetRequest(uriParameters); var resp = await _ramlClient.ShipmentItemMvoHistoryState.Get(req); ShipmentItemMvoProxyUtils.ThrowOnHttpResponseError(resp); return((resp.Content == null) ? null : resp.Content.ToShipmentItemMvoState()); }
public async Task <IShipmentItemMvoEvent> GetStateEventAsync(ShipmentItemId shipmentItemId, long version) { var idObj = ShipmentItemMvoProxyUtils.ToIdString(shipmentItemId); var uriParameters = new ShipmentItemMvoStateEventUriParameters(); uriParameters.Id = idObj; uriParameters.Version = version.ToString(); var req = new ShipmentItemMvoStateEventGetRequest(uriParameters); var resp = await _ramlClient.ShipmentItemMvoStateEvent.Get(req); ShipmentItemMvoProxyUtils.ThrowOnHttpResponseError(resp); return(resp.Content); }
public IShipmentItemState Get(ShipmentItemId id, bool nullAllowed) { IShipmentItemState state = CurrentSession.Get <ShipmentItemState>(id); if (!nullAllowed && state == null) { state = new ShipmentItemState(); (state as ShipmentItemState).ShipmentItemId = id; } if (ReadOnlyProxyGenerator != null && state != null) { return(ReadOnlyProxyGenerator.CreateProxy <IShipmentItemState>(state, new Type[] { }, _readOnlyPropertyNames)); } return(state); }
public async Task <IShipmentItemMvoState> GetAsync(ShipmentItemId shipmentItemId) { IShipmentItemMvoState state = null; var idObj = ShipmentItemMvoProxyUtils.ToIdString(shipmentItemId); var uriParameters = new ShipmentItemMvoUriParameters(); uriParameters.Id = idObj; var req = new ShipmentItemMvoGetRequest(uriParameters); var resp = await _ramlClient.ShipmentItemMvo.Get(req); ShipmentItemMvoProxyUtils.ThrowOnHttpResponseError(resp); state = (resp.Content == null) ? null : resp.Content.ToShipmentItemMvoState(); return(state); }
public abstract IEventStoreAggregateId ToEventStoreAggregateId(ShipmentItemId aggregateId);
public virtual IShipmentItemMvoState GetHistoryState(ShipmentItemId shipmentItemId, long version) { var eventStream = EventStore.LoadEventStream(typeof(IShipmentItemMvoEvent), ToEventStoreAggregateId(shipmentItemId), version - 1); return(new ShipmentItemMvoState(eventStream.Events)); }
public virtual IShipmentItemMvoState Get(ShipmentItemId shipmentItemId) { var state = StateRepository.Get(shipmentItemId, true); return(state); }
public virtual IShipmentItemState GetShipmentItem(string shipmentId, string shipmentItemSeqId) { var entityId = new ShipmentItemId(shipmentId, shipmentItemSeqId); return(CurrentSession.Get <ShipmentItemState>(entityId)); }
public IShipmentItemMvoState Get(ShipmentItemId shipmentItemId) { return(GetAsync(shipmentItemId).GetAwaiter().GetResult()); }
public virtual IShipmentItemMvoState GetHistoryState(ShipmentItemId shipmentItemId, long version) { return(GetHistoryStateAsync(shipmentItemId, version).GetAwaiter().GetResult()); }
public IShipmentItemMvoEvent GetEvent(ShipmentItemId shipmentItemId, long version) { return(GetStateEventAsync(shipmentItemId, version).GetAwaiter().GetResult()); }
public ShipmentItemMvoEventId(ShipmentItemId shipmentItemId, long shipmentVersion) { this._shipmentItemId = shipmentItemId; this._shipmentVersion = shipmentVersion; }
public override IEventStoreAggregateId ToEventStoreAggregateId(ShipmentItemId aggregateId) { return(new EventStoreAggregateId(aggregateId)); }