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

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

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

            criteria.Add(Restrictions.Eq("InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementEntryIdInventoryItemRequirementIdProductId", idObj.InventoryItemRequirementId.ProductId));
            criteria.Add(Restrictions.Eq("InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementEntryIdInventoryItemRequirementIdLocatorId", idObj.InventoryItemRequirementId.LocatorId));
            criteria.Add(Restrictions.Eq("InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementEntryIdInventoryItemRequirementIdAttributeSetInstanceId", idObj.InventoryItemRequirementId.AttributeSetInstanceId));
            criteria.Add(Restrictions.Eq("InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementEntryIdEntrySeqId", idObj.EntrySeqId));
            criteria.Add(Restrictions.Le("InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementVersion", version));
            criteria.AddOrder(global::NHibernate.Criterion.Order.Asc("InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementVersion"));
            var es = criteria.List <IEvent>();

            foreach (InventoryItemRequirementEntryMvoEventBase e in es)
            {
                e.EventReadOnly = true;
            }
            return(new EventStream()
            {
                SteamVersion = es.Count > 0 ? ((InventoryItemRequirementEntryMvoEventBase)es.Last()).InventoryItemRequirementEntryMvoEventId.InventoryItemRequirementVersion : default(long),
                Events = es
            });
        }
예제 #3
0
        public IInventoryItemRequirementEntryMvoState Get(InventoryItemRequirementEntryId id)
        {
            IInventoryItemRequirementEntryMvoState state = CurrentSession.Get <InventoryItemRequirementEntryMvoState>(id);

            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IInventoryItemRequirementEntryMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
예제 #4
0
        public IInventoryItemRequirementEntryState Get(InventoryItemRequirementEntryId id, bool nullAllowed)
        {
            IInventoryItemRequirementEntryState state = CurrentSession.Get <InventoryItemRequirementEntryState>(id);

            if (!nullAllowed && state == null)
            {
                state = new InventoryItemRequirementEntryState();
                (state as InventoryItemRequirementEntryState).InventoryItemRequirementEntryId = id;
            }
            return(state);
        }
        public virtual IInventoryItemRequirementEntryMvoEvent GetEvent(InventoryItemRequirementEntryId inventoryItemRequirementEntryId, long version)
        {
            var e = (IInventoryItemRequirementEntryMvoEvent)EventStore.GetEvent(ToEventStoreAggregateId(inventoryItemRequirementEntryId), version);

            if (e != null)
            {
                e.ReadOnly = true;
            }
            else if (version == -1)
            {
                return(GetEvent(inventoryItemRequirementEntryId, 0));
            }
            return(e);
        }
예제 #6
0
        public IInventoryItemRequirementEntryMvoState Get(InventoryItemRequirementEntryId id, bool nullAllowed)
        {
            IInventoryItemRequirementEntryMvoState state = CurrentSession.Get <InventoryItemRequirementEntryMvoState> (id);

            if (!nullAllowed && state == null)
            {
                state = new InventoryItemRequirementEntryMvoState();
                (state as InventoryItemRequirementEntryMvoState).InventoryItemRequirementEntryId = id;
            }
            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IInventoryItemRequirementEntryMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
        public async Task <IInventoryItemRequirementEntryMvoState> GetAsync(InventoryItemRequirementEntryId inventoryItemRequirementEntryId)
        {
            IInventoryItemRequirementEntryMvoState state = null;
            var idObj         = InventoryItemRequirementEntryMvoProxyUtils.ToIdString(inventoryItemRequirementEntryId);
            var uriParameters = new InventoryItemRequirementEntryMvoUriParameters();

            uriParameters.Id = idObj;

            var req = new InventoryItemRequirementEntryMvoGetRequest(uriParameters);

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

            InventoryItemRequirementEntryMvoProxyUtils.ThrowOnHttpResponseError(resp);
            state = (resp.Content == null) ? null : resp.Content.ToInventoryItemRequirementEntryMvoState();
            return(state);
        }
 public override IEventStoreAggregateId ToEventStoreAggregateId(InventoryItemRequirementEntryId aggregateId)
 {
     return(new EventStoreAggregateId(aggregateId));
 }
예제 #9
0
 public InventoryItemRequirementEntryMvoEventId(InventoryItemRequirementEntryId inventoryItemRequirementEntryId, long inventoryItemRequirementVersion)
 {
     this._inventoryItemRequirementEntryId = inventoryItemRequirementEntryId;
     this._inventoryItemRequirementVersion = inventoryItemRequirementVersion;
 }
 public abstract IEventStoreAggregateId ToEventStoreAggregateId(InventoryItemRequirementEntryId aggregateId);
        public virtual IInventoryItemRequirementEntryMvoState GetHistoryState(InventoryItemRequirementEntryId inventoryItemRequirementEntryId, long version)
        {
            var eventStream = EventStore.LoadEventStream(typeof(IInventoryItemRequirementEntryMvoEvent), ToEventStoreAggregateId(inventoryItemRequirementEntryId), version - 1);

            return(new InventoryItemRequirementEntryMvoState(eventStream.Events));
        }
        public virtual IInventoryItemRequirementEntryMvoState Get(InventoryItemRequirementEntryId inventoryItemRequirementEntryId)
        {
            var state = StateRepository.Get(inventoryItemRequirementEntryId, true);

            return(state);
        }
예제 #13
0
        public virtual IInventoryItemRequirementEntryState GetInventoryItemRequirementEntry(InventoryItemId inventoryItemRequirementId, long entrySeqId)
        {
            var entityId = new InventoryItemRequirementEntryId(inventoryItemRequirementId, entrySeqId);

            return(CurrentSession.Get <InventoryItemRequirementEntryState>(entityId));
        }
 public virtual IInventoryItemRequirementEntryMvoState GetHistoryState(InventoryItemRequirementEntryId inventoryItemRequirementEntryId, long version)
 {
     return(GetHistoryStateAsync(inventoryItemRequirementEntryId, version).GetAwaiter().GetResult());
 }
        public async Task <IInventoryItemRequirementEntryMvoState> GetHistoryStateAsync(InventoryItemRequirementEntryId inventoryItemRequirementEntryId, long version)
        {
            var idObj         = InventoryItemRequirementEntryMvoProxyUtils.ToIdString(inventoryItemRequirementEntryId);
            var uriParameters = new InventoryItemRequirementEntryMvoHistoryStateUriParameters();

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

            var req  = new InventoryItemRequirementEntryMvoHistoryStateGetRequest(uriParameters);
            var resp = await _ramlClient.InventoryItemRequirementEntryMvoHistoryState.Get(req);

            InventoryItemRequirementEntryMvoProxyUtils.ThrowOnHttpResponseError(resp);
            return((resp.Content == null) ? null : resp.Content.ToInventoryItemRequirementEntryMvoState());
        }
 public IInventoryItemRequirementEntryMvoEvent GetEvent(InventoryItemRequirementEntryId inventoryItemRequirementEntryId, long version)
 {
     return(GetStateEventAsync(inventoryItemRequirementEntryId, version).GetAwaiter().GetResult());
 }
 public IInventoryItemRequirementEntryMvoState Get(InventoryItemRequirementEntryId inventoryItemRequirementEntryId)
 {
     return(GetAsync(inventoryItemRequirementEntryId).GetAwaiter().GetResult());
 }