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); } }
public void Save(IPicklistRoleEvent stateEvent) { CurrentSession.Save(stateEvent); var saveable = stateEvent as ISaveable; if (saveable != null) { saveable.Save(); } }
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()); //} }
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); }
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)); }
void IPicklistStateMergePatched.AddPicklistRoleEvent(IPicklistRoleEvent e) { this._picklistRoleEvents.AddPicklistRoleEvent(e); }
public virtual void AddPicklistRoleEvent(IPicklistRoleEvent e) { ThrowOnInconsistentEventIds(e); this._picklistRoleEvents[e.PicklistRoleEventId] = e; }
protected void ThrowOnInconsistentEventIds(IPicklistRoleEvent e) { ThrowOnInconsistentEventIds(this, e); }
public void AddPicklistRoleEvent(IPicklistRoleEvent e) { _innerStateEvents.Add((PicklistRoleStateCreatedOrMergePatchedOrRemovedDto)e); }