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);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 4
0
        public void Save(IOrderShipmentState state)
        {
            IOrderShipmentState s = state;

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

            var saveable = s as ISaveable;

            if (saveable != null)
            {
                saveable.Save();
            }
            CurrentSession.Flush();
        }
Ejemplo n.º 5
0
 public OrderShipmentAggregate(IOrderShipmentState state)
 {
     _state = state;
 }
        protected bool IsRepeatedCommand(IOrderShipmentCommand command, IEventStoreAggregateId eventStoreAggregateId, IOrderShipmentState state)
        {
            bool repeated = false;

            if (((IOrderShipmentStateProperties)state).Version > command.AggregateVersion)
            {
                var lastEvent = EventStore.GetEvent(typeof(IOrderShipmentEvent), eventStoreAggregateId, command.AggregateVersion);
                if (lastEvent != null && lastEvent.CommandId == command.CommandId)
                {
                    repeated = true;
                }
            }
            return(repeated);
        }
 private void Persist(IEventStoreAggregateId eventStoreAggregateId, IOrderShipmentAggregate aggregate, IOrderShipmentState state)
 {
     EventStore.AppendEvents(eventStoreAggregateId, ((IOrderShipmentStateProperties)state).Version, aggregate.Changes, () => { StateRepository.Save(state); });
     if (AggregateEventListener != null)
     {
         AggregateEventListener.EventAppended(new AggregateEvent <IOrderShipmentAggregate, IOrderShipmentState>(aggregate, state, aggregate.Changes));
     }
 }
 public abstract IOrderShipmentAggregate GetOrderShipmentAggregate(IOrderShipmentState state);
 public override IOrderShipmentAggregate GetOrderShipmentAggregate(IOrderShipmentState state)
 {
     return(new OrderShipmentAggregate(state));
 }
        public static TCreateOrderShipment ToCreateOrderShipment <TCreateOrderShipment>(this IOrderShipmentState state)
            where TCreateOrderShipment : ICreateOrderShipment, new()
        {
            var cmd = new TCreateOrderShipment();

            cmd.Version = ((IOrderShipmentStateProperties)state).Version;

            cmd.OrderShipmentId = state.OrderShipmentId;
            cmd.Quantity        = state.Quantity;
            cmd.Active          = ((IOrderShipmentStateProperties)state).Active;
            return(cmd);
        }
        public static TMergePatchOrderShipment ToMergePatchOrderShipment <TMergePatchOrderShipment>(this IOrderShipmentState state)
            where TMergePatchOrderShipment : IMergePatchOrderShipment, new()
        {
            var cmd = new TMergePatchOrderShipment();

            cmd.Version = ((IOrderShipmentStateProperties)state).Version;

            cmd.OrderShipmentId = state.OrderShipmentId;
            cmd.Quantity        = state.Quantity;
            cmd.Active          = ((IOrderShipmentStateProperties)state).Active;

            if (state.Quantity == null)
            {
                cmd.IsPropertyQuantityRemoved = true;
            }
            return(cmd);
        }
        public static TDeleteOrderShipment ToDeleteOrderShipment <TDeleteOrderShipment>(this IOrderShipmentState state)
            where TDeleteOrderShipment : IDeleteOrderShipment, new()
        {
            var cmd = new TDeleteOrderShipment();

            cmd.OrderShipmentId = state.OrderShipmentId;
            cmd.Version         = ((IOrderShipmentStateProperties)state).Version;

            return(cmd);
        }
        public static IOrderShipmentCommand ToCreateOrMergePatchOrderShipment <TCreateOrderShipment, TMergePatchOrderShipment>(this IOrderShipmentState state)
            where TCreateOrderShipment : ICreateOrderShipment, new()
            where TMergePatchOrderShipment : IMergePatchOrderShipment, new()
        {
            bool bUnsaved = ((IOrderShipmentState)state).IsUnsaved;

            if (bUnsaved)
            {
                return(state.ToCreateOrderShipment <TCreateOrderShipment>());
            }
            else
            {
                return(state.ToMergePatchOrderShipment <TMergePatchOrderShipment>());
            }
        }
Ejemplo n.º 14
0
 public OrderShipmentStateDtoWrapper(IOrderShipmentState state)
 {
     this._state = state;
 }
Ejemplo n.º 15
0
 public OrderShipmentStateDtoWrapper()
 {
     this._state = new OrderShipmentState();
 }