public static string ToIdString(OrderShipmentId id)
        {
            var formatter = (new ValueObjectTextFormatter <OrderShipmentId>());
            var idStr     = formatter.ToString(id);

            return(idStr);
        }
        public override EventStream LoadEventStream(Type eventType, IEventStoreAggregateId eventStoreAggregateId, long version)
        {
            Type supportedEventType = typeof(OrderShipmentEventBase);

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

            criteria.Add(Restrictions.Eq("OrderShipmentEventId.OrderShipmentIdOrderId", idObj.OrderId));
            criteria.Add(Restrictions.Eq("OrderShipmentEventId.OrderShipmentIdOrderItemSeqId", idObj.OrderItemSeqId));
            criteria.Add(Restrictions.Eq("OrderShipmentEventId.OrderShipmentIdShipGroupSeqId", idObj.ShipGroupSeqId));
            criteria.Add(Restrictions.Eq("OrderShipmentEventId.OrderShipmentIdShipmentId", idObj.ShipmentId));
            criteria.Add(Restrictions.Eq("OrderShipmentEventId.OrderShipmentIdShipmentItemSeqId", idObj.ShipmentItemSeqId));
            criteria.Add(Restrictions.Le("OrderShipmentEventId.Version", version));
            criteria.AddOrder(global::NHibernate.Criterion.Order.Asc("OrderShipmentEventId.Version"));
            var es = criteria.List <IEvent>();

            foreach (OrderShipmentEventBase e in es)
            {
                e.EventReadOnly = true;
            }
            return(new EventStream()
            {
                SteamVersion = es.Count > 0 ? ((OrderShipmentEventBase)es.Last()).OrderShipmentEventId.Version : default(long),
                Events = es
            });
        }
        public IOrderShipmentState Get(OrderShipmentId id)
        {
            IOrderShipmentState state = CurrentSession.Get <OrderShipmentState>(id);

            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IOrderShipmentState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
        public async Task <IOrderShipmentState> GetHistoryStateAsync(OrderShipmentId orderShipmentId, long version)
        {
            var idObj         = OrderShipmentProxyUtils.ToIdString(orderShipmentId);
            var uriParameters = new OrderShipmentHistoryStateUriParameters();

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

            var req  = new OrderShipmentHistoryStateGetRequest(uriParameters);
            var resp = await _ramlClient.OrderShipmentHistoryState.Get(req);

            OrderShipmentProxyUtils.ThrowOnHttpResponseError(resp);
            return((resp.Content == null) ? null : resp.Content.ToOrderShipmentState());
        }
        public async Task <IOrderShipmentEvent> GetStateEventAsync(OrderShipmentId orderShipmentId, long version)
        {
            var idObj         = OrderShipmentProxyUtils.ToIdString(orderShipmentId);
            var uriParameters = new OrderShipmentStateEventUriParameters();

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

            var req  = new OrderShipmentStateEventGetRequest(uriParameters);
            var resp = await _ramlClient.OrderShipmentStateEvent.Get(req);

            OrderShipmentProxyUtils.ThrowOnHttpResponseError(resp);
            return(resp.Content);
        }
Esempio n. 6
0
        public IOrderShipmentState Get(OrderShipmentId id, bool nullAllowed)
        {
            IOrderShipmentState state = CurrentSession.Get <OrderShipmentState> (id);

            if (!nullAllowed && state == null)
            {
                state = new OrderShipmentState();
                (state as OrderShipmentState).OrderShipmentId = id;
            }
            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IOrderShipmentState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
        public async Task <IOrderShipmentState> GetAsync(OrderShipmentId orderShipmentId)
        {
            IOrderShipmentState state = null;
            var idObj         = OrderShipmentProxyUtils.ToIdString(orderShipmentId);
            var uriParameters = new OrderShipmentUriParameters();

            uriParameters.Id = idObj;

            var req = new OrderShipmentGetRequest(uriParameters);

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

            OrderShipmentProxyUtils.ThrowOnHttpResponseError(resp);
            state = (resp.Content == null) ? null : resp.Content.ToOrderShipmentState();
            return(state);
        }
 public override IEventStoreAggregateId ToEventStoreAggregateId(OrderShipmentId aggregateId)
 {
     return(new EventStoreAggregateId(aggregateId));
 }
 public virtual IOrderShipmentState GetHistoryState(OrderShipmentId orderShipmentId, long version)
 {
     return(GetHistoryStateAsync(orderShipmentId, version).GetAwaiter().GetResult());
 }
 public IOrderShipmentEvent GetEvent(OrderShipmentId orderShipmentId, long version)
 {
     return(GetStateEventAsync(orderShipmentId, version).GetAwaiter().GetResult());
 }
 public IOrderShipmentState Get(OrderShipmentId orderShipmentId)
 {
     return(GetAsync(orderShipmentId).GetAwaiter().GetResult());
 }