public virtual IShipmentPackageContentMvoState ToShipmentPackageContentMvoState()
        {
            var state = new ShipmentPackageContentMvoState(true);

            state.ShipmentPackageContentId = this.ShipmentPackageContentId;
            state.Quantity           = this.Quantity;
            state.SubProductId       = this.SubProductId;
            state.SubProductQuantity = this.SubProductQuantity;
            if (this.Version != null && this.Version.HasValue)
            {
                state.Version = this.Version.Value;
            }
            if (this.Active != null && this.Active.HasValue)
            {
                state.Active = this.Active.Value;
            }
            state.ShipmentPackageShipmentBoxTypeId = this.ShipmentPackageShipmentBoxTypeId;
            state.ShipmentPackageDateCreated       = this.ShipmentPackageDateCreated;
            state.ShipmentPackageBoxLength         = this.ShipmentPackageBoxLength;
            state.ShipmentPackageBoxHeight         = this.ShipmentPackageBoxHeight;
            state.ShipmentPackageBoxWidth          = this.ShipmentPackageBoxWidth;
            state.ShipmentPackageDimensionUomId    = this.ShipmentPackageDimensionUomId;
            state.ShipmentPackageWeight            = this.ShipmentPackageWeight;
            state.ShipmentPackageWeightUomId       = this.ShipmentPackageWeightUomId;
            state.ShipmentPackageInsuredValue      = this.ShipmentPackageInsuredValue;
            state.ShipmentPackageCreatedBy         = this.ShipmentPackageCreatedBy;
            if (this.ShipmentPackageCreatedAt != null && this.ShipmentPackageCreatedAt.HasValue)
            {
                state.ShipmentPackageCreatedAt = this.ShipmentPackageCreatedAt.Value;
            }
            state.ShipmentPackageUpdatedBy = this.ShipmentPackageUpdatedBy;
            if (this.ShipmentPackageUpdatedAt != null && this.ShipmentPackageUpdatedAt.HasValue)
            {
                state.ShipmentPackageUpdatedAt = this.ShipmentPackageUpdatedAt.Value;
            }
            if (this.ShipmentPackageActive != null && this.ShipmentPackageActive.HasValue)
            {
                state.ShipmentPackageActive = this.ShipmentPackageActive.Value;
            }
            if (this.ShipmentPackageDeleted != null && this.ShipmentPackageDeleted.HasValue)
            {
                state.ShipmentPackageDeleted = this.ShipmentPackageDeleted.Value;
            }
            if (this.ShipmentPackageVersion != null && this.ShipmentPackageVersion.HasValue)
            {
                state.ShipmentPackageVersion = this.ShipmentPackageVersion.Value;
            }
            state.CreatedBy = this.CreatedBy;
            if (this.CreatedAt != null && this.CreatedAt.HasValue)
            {
                state.CreatedAt = this.CreatedAt.Value;
            }
            state.UpdatedBy = this.UpdatedBy;
            if (this.UpdatedAt != null && this.UpdatedAt.HasValue)
            {
                state.UpdatedAt = this.UpdatedAt.Value;
            }

            return(state);
        }
        public virtual void Initialize(IShipmentPackageContentMvoStateCreated stateCreated)
        {
            var aggregateId = stateCreated.ShipmentPackageContentMvoEventId.ShipmentPackageContentId;
            var state       = new ShipmentPackageContentMvoState();

            state.ShipmentPackageContentId = aggregateId;
            var aggregate = (ShipmentPackageContentMvoAggregate)GetShipmentPackageContentMvoAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
 public static CreateShipmentPackageContentMvo ToCreateShipmentPackageContentMvo(this ShipmentPackageContentMvoState state)
 {
     return(state.ToCreateShipmentPackageContentMvo <CreateShipmentPackageContentMvo>());
 }
 public static MergePatchShipmentPackageContentMvo ToMergePatchShipmentPackageContentMvo(this ShipmentPackageContentMvoState state)
 {
     return(state.ToMergePatchShipmentPackageContentMvo <MergePatchShipmentPackageContentMvo>());
 }
 public static DeleteShipmentPackageContentMvo ToDeleteShipmentPackageContentMvo(this ShipmentPackageContentMvoState state)
 {
     return(state.ToDeleteShipmentPackageContentMvo <DeleteShipmentPackageContentMvo>());
 }
 public static IShipmentPackageContentMvoCommand ToCreateOrMergePatchShipmentPackageContentMvo(this ShipmentPackageContentMvoState state)
 {
     return(state.ToCreateOrMergePatchShipmentPackageContentMvo <CreateShipmentPackageContentMvo, MergePatchShipmentPackageContentMvo>());
 }