public IInventoryItemEntryMvoState Get(InventoryItemEntryId id)
        {
            IInventoryItemEntryMvoState state = CurrentSession.Get <InventoryItemEntryMvoState>(id);

            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IInventoryItemEntryMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
예제 #2
0
        public IInventoryItemEntryMvoState Get(InventoryItemEntryId id, bool nullAllowed)
        {
            IInventoryItemEntryMvoState state = CurrentSession.Get <InventoryItemEntryMvoState> (id);

            if (!nullAllowed && state == null)
            {
                state = new InventoryItemEntryMvoState();
                (state as InventoryItemEntryMvoState).InventoryItemEntryId = id;
            }
            if (ReadOnlyProxyGenerator != null && state != null)
            {
                return(ReadOnlyProxyGenerator.CreateProxy <IInventoryItemEntryMvoState>(state, new Type[] {  }, _readOnlyPropertyNames));
            }
            return(state);
        }
예제 #3
0
        public async Task <IInventoryItemEntryMvoState> GetAsync(InventoryItemEntryId inventoryItemEntryId)
        {
            IInventoryItemEntryMvoState state = null;
            var idObj         = InventoryItemEntryMvoProxyUtils.ToIdString(inventoryItemEntryId);
            var uriParameters = new InventoryItemEntryMvoUriParameters();

            uriParameters.Id = idObj;

            var req = new InventoryItemEntryMvoGetRequest(uriParameters);

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

            InventoryItemEntryMvoProxyUtils.ThrowOnHttpResponseError(resp);
            state = (resp.Content == null) ? null : resp.Content.ToInventoryItemEntryMvoState();
            return(state);
        }
예제 #4
0
        public void Save(IInventoryItemEntryMvoState state)
        {
            IInventoryItemEntryMvoState s = state;

            if (ReadOnlyProxyGenerator != null)
            {
                s = ReadOnlyProxyGenerator.GetTarget <IInventoryItemEntryMvoState>(state);
            }
            CurrentSession.SaveOrUpdate(s);

            var saveable = s as ISaveable;

            if (saveable != null)
            {
                saveable.Save();
            }
            CurrentSession.Flush();
        }
예제 #5
0
 public InventoryItemEntryMvoAggregate(IInventoryItemEntryMvoState state)
 {
     _state = state;
 }
 public override IInventoryItemEntryMvoAggregate GetInventoryItemEntryMvoAggregate(IInventoryItemEntryMvoState state)
 {
     return(new InventoryItemEntryMvoAggregate(state));
 }
예제 #7
0
        protected bool IsRepeatedCommand(IInventoryItemEntryMvoCommand command, IEventStoreAggregateId eventStoreAggregateId, IInventoryItemEntryMvoState state)
        {
            bool repeated = false;

            if (((IInventoryItemEntryMvoStateProperties)state).InventoryItemVersion > command.AggregateVersion)
            {
                var lastEvent = EventStore.GetEvent(typeof(IInventoryItemEntryMvoEvent), eventStoreAggregateId, command.AggregateVersion);
                if (lastEvent != null && lastEvent.CommandId == command.CommandId)
                {
                    repeated = true;
                }
            }
            return(repeated);
        }
예제 #8
0
 private void Persist(IEventStoreAggregateId eventStoreAggregateId, IInventoryItemEntryMvoAggregate aggregate, IInventoryItemEntryMvoState state)
 {
     EventStore.AppendEvents(eventStoreAggregateId, ((IInventoryItemEntryMvoStateProperties)state).InventoryItemVersion, aggregate.Changes, () => { StateRepository.Save(state); });
     if (AggregateEventListener != null)
     {
         AggregateEventListener.EventAppended(new AggregateEvent <IInventoryItemEntryMvoAggregate, IInventoryItemEntryMvoState>(aggregate, state, aggregate.Changes));
     }
 }
예제 #9
0
 public abstract IInventoryItemEntryMvoAggregate GetInventoryItemEntryMvoAggregate(IInventoryItemEntryMvoState state);
 public InventoryItemEntryMvoStateDtoWrapper(IInventoryItemEntryMvoState state)
 {
     this._state = state;
 }
 public InventoryItemEntryMvoStateDtoWrapper()
 {
     this._state = new InventoryItemEntryMvoState();
 }
        public static TCreateInventoryItemEntryMvo ToCreateInventoryItemEntryMvo <TCreateInventoryItemEntryMvo>(this IInventoryItemEntryMvoState state)
            where TCreateInventoryItemEntryMvo : ICreateInventoryItemEntryMvo, new()
        {
            var cmd = new TCreateInventoryItemEntryMvo();

            cmd.InventoryItemVersion = ((IInventoryItemEntryMvoStateProperties)state).InventoryItemVersion;

            cmd.InventoryItemEntryId = state.InventoryItemEntryId;
            cmd.OnHandQuantity       = state.OnHandQuantity;
            cmd.InTransitQuantity    = state.InTransitQuantity;
            cmd.ReservedQuantity     = state.ReservedQuantity;
            cmd.OccupiedQuantity     = state.OccupiedQuantity;
            cmd.VirtualQuantity      = state.VirtualQuantity;
            cmd.Source  = state.Source;
            cmd.Version = ((IInventoryItemEntryMvoStateProperties)state).Version;
            cmd.InventoryItemOnHandQuantity    = state.InventoryItemOnHandQuantity;
            cmd.InventoryItemInTransitQuantity = state.InventoryItemInTransitQuantity;
            cmd.InventoryItemReservedQuantity  = state.InventoryItemReservedQuantity;
            cmd.InventoryItemOccupiedQuantity  = state.InventoryItemOccupiedQuantity;
            cmd.InventoryItemVirtualQuantity   = state.InventoryItemVirtualQuantity;
            cmd.InventoryItemCreatedBy         = state.InventoryItemCreatedBy;
            cmd.InventoryItemCreatedAt         = state.InventoryItemCreatedAt;
            cmd.InventoryItemUpdatedBy         = state.InventoryItemUpdatedBy;
            cmd.InventoryItemUpdatedAt         = state.InventoryItemUpdatedAt;
            return(cmd);
        }
        public static TMergePatchInventoryItemEntryMvo ToMergePatchInventoryItemEntryMvo <TMergePatchInventoryItemEntryMvo>(this IInventoryItemEntryMvoState state)
            where TMergePatchInventoryItemEntryMvo : IMergePatchInventoryItemEntryMvo, new()
        {
            var cmd = new TMergePatchInventoryItemEntryMvo();

            cmd.InventoryItemVersion = ((IInventoryItemEntryMvoStateProperties)state).InventoryItemVersion;

            cmd.InventoryItemEntryId = state.InventoryItemEntryId;
            cmd.OnHandQuantity       = state.OnHandQuantity;
            cmd.InTransitQuantity    = state.InTransitQuantity;
            cmd.ReservedQuantity     = state.ReservedQuantity;
            cmd.OccupiedQuantity     = state.OccupiedQuantity;
            cmd.VirtualQuantity      = state.VirtualQuantity;
            cmd.Source  = state.Source;
            cmd.Version = ((IInventoryItemEntryMvoStateProperties)state).Version;
            cmd.InventoryItemOnHandQuantity    = state.InventoryItemOnHandQuantity;
            cmd.InventoryItemInTransitQuantity = state.InventoryItemInTransitQuantity;
            cmd.InventoryItemReservedQuantity  = state.InventoryItemReservedQuantity;
            cmd.InventoryItemOccupiedQuantity  = state.InventoryItemOccupiedQuantity;
            cmd.InventoryItemVirtualQuantity   = state.InventoryItemVirtualQuantity;
            cmd.InventoryItemCreatedBy         = state.InventoryItemCreatedBy;
            cmd.InventoryItemCreatedAt         = state.InventoryItemCreatedAt;
            cmd.InventoryItemUpdatedBy         = state.InventoryItemUpdatedBy;
            cmd.InventoryItemUpdatedAt         = state.InventoryItemUpdatedAt;

            if (state.Source == null)
            {
                cmd.IsPropertySourceRemoved = true;
            }
            if (state.InventoryItemCreatedBy == null)
            {
                cmd.IsPropertyInventoryItemCreatedByRemoved = true;
            }
            if (state.InventoryItemUpdatedBy == null)
            {
                cmd.IsPropertyInventoryItemUpdatedByRemoved = true;
            }
            return(cmd);
        }
        public static TDeleteInventoryItemEntryMvo ToDeleteInventoryItemEntryMvo <TDeleteInventoryItemEntryMvo>(this IInventoryItemEntryMvoState state)
            where TDeleteInventoryItemEntryMvo : IDeleteInventoryItemEntryMvo, new()
        {
            var cmd = new TDeleteInventoryItemEntryMvo();

            cmd.InventoryItemEntryId = state.InventoryItemEntryId;
            cmd.InventoryItemVersion = ((IInventoryItemEntryMvoStateProperties)state).InventoryItemVersion;

            return(cmd);
        }
        public static IInventoryItemEntryMvoCommand ToCreateOrMergePatchInventoryItemEntryMvo <TCreateInventoryItemEntryMvo, TMergePatchInventoryItemEntryMvo>(this IInventoryItemEntryMvoState state)
            where TCreateInventoryItemEntryMvo : ICreateInventoryItemEntryMvo, new()
            where TMergePatchInventoryItemEntryMvo : IMergePatchInventoryItemEntryMvo, new()
        {
            bool bUnsaved = ((IInventoryItemEntryMvoState)state).IsUnsaved;

            if (bUnsaved)
            {
                return(state.ToCreateInventoryItemEntryMvo <TCreateInventoryItemEntryMvo>());
            }
            else
            {
                return(state.ToMergePatchInventoryItemEntryMvo <TMergePatchInventoryItemEntryMvo>());
            }
        }