예제 #1
0
        public static string ToIdString(ShipmentPackageContentId id)
        {
            var formatter = (new ValueObjectTextFormatter <ShipmentPackageContentId>());
            var idStr     = formatter.ToString(id);

            return(idStr);
        }
예제 #2
0
        public override EventStream LoadEventStream(Type eventType, IEventStoreAggregateId eventStoreAggregateId, long version)
        {
            Type supportedEventType = typeof(ShipmentPackageContentMvoEventBase);

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

            criteria.Add(Restrictions.Eq("ShipmentPackageContentMvoEventId.ShipmentPackageContentIdShipmentPackageIdShipmentId", idObj.ShipmentPackageId.ShipmentId));
            criteria.Add(Restrictions.Eq("ShipmentPackageContentMvoEventId.ShipmentPackageContentIdShipmentPackageIdShipmentPackageSeqId", idObj.ShipmentPackageId.ShipmentPackageSeqId));
            criteria.Add(Restrictions.Eq("ShipmentPackageContentMvoEventId.ShipmentPackageContentIdShipmentItemSeqId", idObj.ShipmentItemSeqId));
            criteria.Add(Restrictions.Le("ShipmentPackageContentMvoEventId.ShipmentPackageVersion", version));
            criteria.AddOrder(global::NHibernate.Criterion.Order.Asc("ShipmentPackageContentMvoEventId.ShipmentPackageVersion"));
            var es = criteria.List <IEvent>();

            foreach (ShipmentPackageContentMvoEventBase e in es)
            {
                e.EventReadOnly = true;
            }
            return(new EventStream()
            {
                SteamVersion = es.Count > 0 ? ((ShipmentPackageContentMvoEventBase)es.Last()).ShipmentPackageContentMvoEventId.ShipmentPackageVersion : default(long),
                Events = es
            });
        }
        public IShipmentPackageContentMvoState Get(ShipmentPackageContentId id)
        {
            IShipmentPackageContentMvoState state = CurrentSession.Get <ShipmentPackageContentMvoState>(id);

            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IShipmentPackageContentMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
예제 #4
0
        public async Task <IShipmentPackageContentMvoState> GetHistoryStateAsync(ShipmentPackageContentId shipmentPackageContentId, long version)
        {
            var idObj         = ShipmentPackageContentMvoProxyUtils.ToIdString(shipmentPackageContentId);
            var uriParameters = new ShipmentPackageContentMvoHistoryStateUriParameters();

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

            var req  = new ShipmentPackageContentMvoHistoryStateGetRequest(uriParameters);
            var resp = await _ramlClient.ShipmentPackageContentMvoHistoryState.Get(req);

            ShipmentPackageContentMvoProxyUtils.ThrowOnHttpResponseError(resp);
            return((resp.Content == null) ? null : resp.Content.ToShipmentPackageContentMvoState());
        }
예제 #5
0
        public async Task <IShipmentPackageContentMvoEvent> GetStateEventAsync(ShipmentPackageContentId shipmentPackageContentId, long version)
        {
            var idObj         = ShipmentPackageContentMvoProxyUtils.ToIdString(shipmentPackageContentId);
            var uriParameters = new ShipmentPackageContentMvoStateEventUriParameters();

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

            var req  = new ShipmentPackageContentMvoStateEventGetRequest(uriParameters);
            var resp = await _ramlClient.ShipmentPackageContentMvoStateEvent.Get(req);

            ShipmentPackageContentMvoProxyUtils.ThrowOnHttpResponseError(resp);
            return(resp.Content);
        }
        public virtual IShipmentPackageContentMvoEvent GetEvent(ShipmentPackageContentId shipmentPackageContentId, long version)
        {
            var e = (IShipmentPackageContentMvoEvent)EventStore.GetEvent(ToEventStoreAggregateId(shipmentPackageContentId), version);

            if (e != null)
            {
                e.ReadOnly = true;
            }
            else if (version == -1)
            {
                return(GetEvent(shipmentPackageContentId, 0));
            }
            return(e);
        }
        public IShipmentPackageContentState Get(ShipmentPackageContentId id, bool nullAllowed)
        {
            IShipmentPackageContentState state = CurrentSession.Get <ShipmentPackageContentState>(id);

            if (!nullAllowed && state == null)
            {
                state = new ShipmentPackageContentState();
                (state as ShipmentPackageContentState).ShipmentPackageContentId = id;
            }
            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IShipmentPackageContentState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
예제 #8
0
        public async Task <IShipmentPackageContentMvoState> GetAsync(ShipmentPackageContentId shipmentPackageContentId)
        {
            IShipmentPackageContentMvoState state = null;
            var idObj         = ShipmentPackageContentMvoProxyUtils.ToIdString(shipmentPackageContentId);
            var uriParameters = new ShipmentPackageContentMvoUriParameters();

            uriParameters.Id = idObj;

            var req = new ShipmentPackageContentMvoGetRequest(uriParameters);

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

            ShipmentPackageContentMvoProxyUtils.ThrowOnHttpResponseError(resp);
            state = (resp.Content == null) ? null : resp.Content.ToShipmentPackageContentMvoState();
            return(state);
        }
예제 #9
0
 public virtual IShipmentPackageContentMvoState GetHistoryState(ShipmentPackageContentId shipmentPackageContentId, long version)
 {
     return(GetHistoryStateAsync(shipmentPackageContentId, version).GetAwaiter().GetResult());
 }
예제 #10
0
 public IShipmentPackageContentMvoEvent GetEvent(ShipmentPackageContentId shipmentPackageContentId, long version)
 {
     return(GetStateEventAsync(shipmentPackageContentId, version).GetAwaiter().GetResult());
 }
 public override IEventStoreAggregateId ToEventStoreAggregateId(ShipmentPackageContentId aggregateId)
 {
     return(new EventStoreAggregateId(aggregateId));
 }
 public abstract IEventStoreAggregateId ToEventStoreAggregateId(ShipmentPackageContentId aggregateId);
        public virtual IShipmentPackageContentMvoState GetHistoryState(ShipmentPackageContentId shipmentPackageContentId, long version)
        {
            var eventStream = EventStore.LoadEventStream(typeof(IShipmentPackageContentMvoEvent), ToEventStoreAggregateId(shipmentPackageContentId), version - 1);

            return(new ShipmentPackageContentMvoState(eventStream.Events));
        }
        public virtual IShipmentPackageContentMvoState Get(ShipmentPackageContentId shipmentPackageContentId)
        {
            var state = StateRepository.Get(shipmentPackageContentId, true);

            return(state);
        }
예제 #15
0
 public ShipmentPackageContentMvoEventId(ShipmentPackageContentId shipmentPackageContentId, long shipmentPackageVersion)
 {
     this._shipmentPackageContentId = shipmentPackageContentId;
     this._shipmentPackageVersion   = shipmentPackageVersion;
 }
예제 #16
0
 public IShipmentPackageContentMvoState Get(ShipmentPackageContentId shipmentPackageContentId)
 {
     return(GetAsync(shipmentPackageContentId).GetAwaiter().GetResult());
 }
예제 #17
0
        public virtual IShipmentPackageContentState GetShipmentPackageContent(ShipmentPackageId shipmentPackageId, string shipmentItemSeqId)
        {
            var entityId = new ShipmentPackageContentId(shipmentPackageId, shipmentItemSeqId);

            return(CurrentSession.Get <ShipmentPackageContentState>(entityId));
        }