Ejemplo n.º 1
0
 public static void ThrowOnInconsistentEventIds(IPicklistEvent oe, IPicklistRoleEvent e)
 {
     if (!oe.PicklistEventId.PicklistId.Equals(e.PicklistRoleEventId.PicklistId))
     {
         throw DomainError.Named("inconsistentEventIds", "Outer Id PicklistId {0} but inner id PicklistId {1}",
                                 oe.PicklistEventId.PicklistId, e.PicklistRoleEventId.PicklistId);
     }
 }
Ejemplo n.º 2
0
        public void Save(IPicklistRoleEvent stateEvent)
        {
            CurrentSession.Save(stateEvent);
            var saveable = stateEvent as ISaveable;

            if (saveable != null)
            {
                saveable.Save();
            }
        }
Ejemplo n.º 3
0
        protected void ThrowOnWrongEvent(IPicklistRoleEvent e)
        {
            var id = new System.Text.StringBuilder();

            id.Append("[").Append("PicklistRole|");

            var stateEntityIdPicklistId = (this as IGlobalIdentity <PicklistRoleId>).GlobalId.PicklistId;
            var eventEntityIdPicklistId = e.PicklistRoleEventId.PicklistId;

            if (stateEntityIdPicklistId != eventEntityIdPicklistId)
            {
                throw DomainError.Named("mutateWrongEntity", "Entity Id PicklistId {0} in state but entity id PicklistId {1} in event", stateEntityIdPicklistId, eventEntityIdPicklistId);
            }
            id.Append(stateEntityIdPicklistId).Append(",");

            var stateEntityIdPartyRoleId = (this as IGlobalIdentity <PicklistRoleId>).GlobalId.PartyRoleId;
            var eventEntityIdPartyRoleId = e.PicklistRoleEventId.PartyRoleId;

            if (stateEntityIdPartyRoleId != eventEntityIdPartyRoleId)
            {
                throw DomainError.Named("mutateWrongEntity", "Entity Id PartyRoleId {0} in state but entity id PartyRoleId {1} in event", stateEntityIdPartyRoleId, eventEntityIdPartyRoleId);
            }
            id.Append(stateEntityIdPartyRoleId).Append(",");

            id.Append("]");

            if (ForReapplying)
            {
                return;
            }
            var stateVersion = this.Version;
            var stateEvent   = e is IPicklistRoleStateEvent ? (IPicklistRoleStateEvent)e : null;

            if (e == null)
            {
                return;
            }
            stateEvent.Version = stateVersion;
            //var stateEventStateVersion = stateEvent.Version;
            //if (PicklistRoleState.VersionZero == stateEventStateVersion)
            //{
            //    stateEventStateVersion = stateEvent.Version = stateVersion;
            //}
            //if (stateVersion != stateEventStateVersion)
            //{
            //    throw OptimisticConcurrencyException.Create(stateVersion, stateEventStateVersion, id.ToString());
            //}
        }
Ejemplo n.º 4
0
        protected virtual IPicklistStateMergePatched Map(IMergePatchPicklist c)
        {
            var stateEventId             = new PicklistEventId(c.PicklistId, c.Version);
            IPicklistStateMergePatched e = NewPicklistStateMergePatched(stateEventId);

            e.Description          = c.Description;
            e.FacilityId           = c.FacilityId;
            e.ShipmentMethodTypeId = c.ShipmentMethodTypeId;
            e.StatusId             = c.StatusId;
            e.PicklistDate         = c.PicklistDate;
            e.PickwaveId           = c.PickwaveId;
            e.Active = c.Active;
            e.IsPropertyDescriptionRemoved          = c.IsPropertyDescriptionRemoved;
            e.IsPropertyFacilityIdRemoved           = c.IsPropertyFacilityIdRemoved;
            e.IsPropertyShipmentMethodTypeIdRemoved = c.IsPropertyShipmentMethodTypeIdRemoved;
            e.IsPropertyStatusIdRemoved             = c.IsPropertyStatusIdRemoved;
            e.IsPropertyPicklistDateRemoved         = c.IsPropertyPicklistDateRemoved;
            e.IsPropertyPickwaveIdRemoved           = c.IsPropertyPickwaveIdRemoved;
            e.IsPropertyActiveRemoved = c.IsPropertyActiveRemoved;

            e.CommandId = c.CommandId;


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>();

            var version = c.Version;

            foreach (IPicklistRoleCommand innerCommand in c.PicklistRoleCommands)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IPicklistRoleEvent innerEvent = Map(innerCommand, c, version, _state);
                e.AddPicklistRoleEvent(innerEvent);
            }


            return(e);
        }
Ejemplo n.º 5
0
 public virtual PicklistRoleStateCreatedOrMergePatchedOrRemovedDto ToPicklistRoleStateEventDto(IPicklistRoleEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IPicklistRoleStateCreated)stateEvent;
         return(ToPicklistRoleStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IPicklistRoleStateMergePatched)stateEvent;
         return(ToPicklistRoleStateMergePatchedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.Removed)
     {
         var e = (IPicklistRoleStateRemoved)stateEvent;
         return(ToPicklistRoleStateRemovedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
Ejemplo n.º 6
0
 void IPicklistStateMergePatched.AddPicklistRoleEvent(IPicklistRoleEvent e)
 {
     this._picklistRoleEvents.AddPicklistRoleEvent(e);
 }
Ejemplo n.º 7
0
 public virtual void AddPicklistRoleEvent(IPicklistRoleEvent e)
 {
     ThrowOnInconsistentEventIds(e);
     this._picklistRoleEvents[e.PicklistRoleEventId] = e;
 }
Ejemplo n.º 8
0
 protected void ThrowOnInconsistentEventIds(IPicklistRoleEvent e)
 {
     ThrowOnInconsistentEventIds(this, e);
 }
Ejemplo n.º 9
0
 public void AddPicklistRoleEvent(IPicklistRoleEvent e)
 {
     _innerStateEvents.Add((PicklistRoleStateCreatedOrMergePatchedOrRemovedDto)e);
 }