public virtual SupplierProductStateCreatedOrMergePatchedOrDeletedDto ToSupplierProductStateEventDto(ISupplierProductEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (ISupplierProductStateCreated)stateEvent;
         return(ToSupplierProductStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (ISupplierProductStateMergePatched)stateEvent;
         return(ToSupplierProductStateMergePatchedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
Exemplo n.º 2
0
 public virtual InventoryItemRequirementEntryMvoStateCreatedOrMergePatchedOrDeletedDto ToInventoryItemRequirementEntryMvoStateEventDto(IInventoryItemRequirementEntryMvoEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IInventoryItemRequirementEntryMvoStateCreated)stateEvent;
         return(ToInventoryItemRequirementEntryMvoStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IInventoryItemRequirementEntryMvoStateMergePatched)stateEvent;
         return(ToInventoryItemRequirementEntryMvoStateMergePatchedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
Exemplo n.º 3
0
        public HttpResponseMessage Post([FromBody] CreatePartyDto value)
        {
            try {
                value.PartyTypeId = PartyTypeIds.Organization;
                if (value.PartyId == default(string))
                {
                    throw DomainError.Named("nullId", "Aggregate Id in cmd is null, aggregate name: {0}.", "Party");
                }
                _partyApplicationService.When(value as ICreateParty);
                var idObj = value.PartyId;

                return(Request.CreateResponse <string>(HttpStatusCode.Created, idObj));
            } catch (Exception ex) { var response = HttpServiceExceptionUtils.GetErrorHttpResponseMessage(ex); throw new HttpResponseException(response); }
        }
 public virtual OrderItemStateCreatedOrMergePatchedOrRemovedDto ToOrderItemStateEventDto(IOrderItemEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IOrderItemStateCreated)stateEvent;
         return(ToOrderItemStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IOrderItemStateMergePatched)stateEvent;
         return(ToOrderItemStateMergePatchedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
Exemplo n.º 5
0
 public virtual void ThrowOnInvalidStateTransition(ICommand c)
 {
     if (((IInventoryItemEntryMvoStateProperties)_state).InventoryItemVersion == InventoryItemEntryMvoState.VersionZero)
     {
         if (IsCommandCreate((IInventoryItemEntryMvoCommand)c))
         {
             return;
         }
         throw DomainError.Named("premature", "Can't do anything to unexistent aggregate");
     }
     if (IsCommandCreate((IInventoryItemEntryMvoCommand)c))
     {
         throw DomainError.Named("rebirth", "Can't create aggregate that already exists");
     }
 }
Exemplo n.º 6
0
 private void SetNullInnerIdOrThrowOnInconsistentIds(object innerObject, string innerIdName, object innerIdValue, string outerIdName, object outerIdValue)
 {
     if (innerIdValue == null)
     {
         ReflectUtils.SetPropertyValue(innerIdName, innerObject, outerIdValue);
     }
     else if (!Object.Equals(innerIdValue, outerIdValue))
     {
         if (innerIdValue is string && outerIdValue is string && ((string)innerIdValue).Normalize() == ((string)outerIdValue).Normalize())
         {
             return;
         }
         throw DomainError.Named("inconsistentId", "Outer {0} {1} NOT equals inner {2} {3}", outerIdName, outerIdValue, innerIdName, innerIdValue);
     }
 }
Exemplo n.º 7
0
        public void AddPassword(IDomainIdentityService ids, IUserIndexService index, PasswordGenerator pwds,
                                string display, string login, string password)
        {
            if (index.IsLoginRegistered(login))
            {
                throw DomainError.Named("duplicate-login", "Login {0} is already taken", login);
            }

            var user  = new UserId(ids.GetId());
            var salt  = pwds.CreateSalt();
            var token = pwds.CreateToken();
            var hash  = pwds.HashPassword(password, salt);

            Apply(new SecurityPasswordAdded(_state.Id, user, display, login, hash, salt, token));
        }
Exemplo n.º 8
0
        protected void ThrowOnWrongEvent(IInOutImageEvent e)
        {
            var id = new System.Text.StringBuilder();

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

            var stateEntityIdInOutDocumentNumber = (this as IGlobalIdentity <InOutImageId>).GlobalId.InOutDocumentNumber;
            var eventEntityIdInOutDocumentNumber = e.InOutImageEventId.InOutDocumentNumber;

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

            var stateEntityIdSequenceId = (this as IGlobalIdentity <InOutImageId>).GlobalId.SequenceId;
            var eventEntityIdSequenceId = e.InOutImageEventId.SequenceId;

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

            id.Append("]");

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

            if (e == null)
            {
                return;
            }
            stateEvent.Version = stateVersion;
            //var stateEventStateVersion = stateEvent.Version;
            //if (InOutImageState.VersionZero == stateEventStateVersion)
            //{
            //    stateEventStateVersion = stateEvent.Version = stateVersion;
            //}
            //if (stateVersion != stateEventStateVersion)
            //{
            //    throw OptimisticConcurrencyException.Create(stateVersion, stateEventStateVersion, id.ToString());
            //}
        }
Exemplo n.º 9
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());
            //}
        }
Exemplo n.º 10
0
        protected void ThrowOnWrongEvent(IMovementConfirmationLineEvent e)
        {
            var id = new System.Text.StringBuilder();

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

            var stateEntityIdMovementConfirmationDocumentNumber = (this as IGlobalIdentity <MovementConfirmationLineId>).GlobalId.MovementConfirmationDocumentNumber;
            var eventEntityIdMovementConfirmationDocumentNumber = e.MovementConfirmationLineEventId.MovementConfirmationDocumentNumber;

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

            var stateEntityIdLineNumber = (this as IGlobalIdentity <MovementConfirmationLineId>).GlobalId.LineNumber;
            var eventEntityIdLineNumber = e.MovementConfirmationLineEventId.LineNumber;

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

            id.Append("]");

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

            if (e == null)
            {
                return;
            }
            stateEvent.Version = stateVersion;
            //var stateEventStateVersion = stateEvent.Version;
            //if (MovementConfirmationLineState.VersionZero == stateEventStateVersion)
            //{
            //    stateEventStateVersion = stateEvent.Version = stateVersion;
            //}
            //if (stateVersion != stateEventStateVersion)
            //{
            //    throw OptimisticConcurrencyException.Create(stateVersion, stateEventStateVersion, id.ToString());
            //}
        }
Exemplo n.º 11
0
        protected void ThrowOnWrongEvent(IUserLoginEvent e)
        {
            var id = new System.Text.StringBuilder();

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

            var stateEntityIdUserId = (this as IGlobalIdentity <UserLoginId>).GlobalId.UserId;
            var eventEntityIdUserId = e.UserLoginEventId.UserId;

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

            var stateEntityIdLoginKey = (this as IGlobalIdentity <UserLoginId>).GlobalId.LoginKey;
            var eventEntityIdLoginKey = e.UserLoginEventId.LoginKey;

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

            id.Append("]");

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

            if (e == null)
            {
                return;
            }
            stateEvent.Version = stateVersion;
            //var stateEventStateVersion = stateEvent.Version;
            //if (UserLoginState.VersionZero == stateEventStateVersion)
            //{
            //    stateEventStateVersion = stateEvent.Version = stateVersion;
            //}
            //if (stateVersion != stateEventStateVersion)
            //{
            //    throw OptimisticConcurrencyException.Create(stateVersion, stateEventStateVersion, id.ToString());
            //}
        }
Exemplo n.º 12
0
 public void DocumentAction(string id, [FromBody] InOutCommandDtos.DocumentActionRequestContent content)
 {
     try {
         var cmd   = content.ToDocumentAction();
         var idObj = id;
         if (cmd.DocumentNumber == null)
         {
             cmd.DocumentNumber = idObj;
         }
         else if (!cmd.DocumentNumber.Equals(idObj))
         {
             throw DomainError.Named("inconsistentId", "Argument Id {0} NOT equals body Id {1}", id, cmd.DocumentNumber);
         }
         _inOutApplicationService.When(cmd);
     } catch (Exception ex) { var response = HttpServiceExceptionUtils.GetErrorHttpResponseMessage(ex); throw new HttpResponseException(response); }
 }
Exemplo n.º 13
0
 public void OrderShipGroupAction(string orderId, string shipGroupSeqId, [FromBody] OrderCommandDtos.OrderShipGroupActionRequestContent content)
 {
     try {
         var cmd   = content.ToOrderShipGroupAction();
         var idObj = new OrderShipGroupId(orderId, shipGroupSeqId);
         if (cmd.OrderShipGroupId == null)
         {
             cmd.OrderShipGroupId = idObj;
         }
         else if (!cmd.OrderShipGroupId.Equals(idObj))
         {
             throw DomainError.Named("inconsistentId", "Argument Id {0} NOT equals body Id {1}", idObj, cmd.OrderShipGroupId);
         }
         _orderApplicationService.When(cmd);
     } catch (Exception ex) { var response = HttpServiceExceptionUtils.GetErrorHttpResponseMessage(ex); throw new HttpResponseException(response); }
 }
Exemplo n.º 14
0
 public void ConfirmAllItemsIssued(string id, [FromBody] ShipmentCommandDtos.ConfirmAllItemsIssuedRequestContent content)
 {
     try {
         var cmd   = content.ToConfirmAllItemsIssued();
         var idObj = id;
         if (cmd.ShipmentId == null)
         {
             cmd.ShipmentId = idObj;
         }
         else if (!cmd.ShipmentId.Equals(idObj))
         {
             throw DomainError.Named("inconsistentId", "Argument Id {0} NOT equals body Id {1}", id, cmd.ShipmentId);
         }
         _shipmentApplicationService.When(cmd);
     } catch (Exception ex) { var response = ShipmentsControllerUtils.GetErrorHttpResponseMessage(ex); throw new HttpResponseException(response); }
 }
Exemplo n.º 15
0
 public void CountItem(string id, [FromBody] PhysicalInventoryCommandDtos.CountItemRequestContent content)
 {
     try {
         var cmd   = content.ToCountItem();
         var idObj = id;
         if (cmd.DocumentNumber == null)
         {
             cmd.DocumentNumber = idObj;
         }
         else if (!cmd.DocumentNumber.Equals(idObj))
         {
             throw DomainError.Named("inconsistentId", "Argument Id {0} NOT equals body Id {1}", id, cmd.DocumentNumber);
         }
         _physicalInventoryApplicationService.When(cmd);
     } catch (Exception ex) { var response = PhysicalInventoriesControllerUtils.GetErrorHttpResponseMessage(ex); throw new HttpResponseException(response); }
 }
Exemplo n.º 16
0
        public void DefineAction(RequestId requestId, ProjectId projectId, string outcome, ITimeProvider provider)
        {
            // filter request IDs
            var time = provider.GetUtcNow();

            ProjectInfo projectInfo;

            if (!_aggState.Projects.TryGetValue(projectId, out projectInfo))
            {
                throw DomainError.Named("unknown-project", "Unknown project {0}", projectId);
            }

            var actionId = new ActionId(NewGuidIfEmpty(requestId));

            Apply(new ActionDefined(_aggState.Id, actionId, projectId, outcome, time));
        }
        async Task IdempotentlyUpdateAgg(string id, Action <OrganizationAggregate> usingThisMethod)
        {
            var agg = await AggRepository.GetAsync <OrganizationAggregate>(id);

            if (agg == null)
            {
                throw DomainError.Named("OrganizationDoesNotExist", string.Empty);
            }
            var ov = agg.Version;

            usingThisMethod(agg);
            PublishedEvents = agg.PublishedEvents;
            if (ov != agg.Version)
            {
                await AggRepository.StoreAsync(agg);
            }
        }
Exemplo n.º 18
0
        public void MoveStuffToProject(IEnumerable <StuffId> stuffToMove, ProjectId projectId, ITimeProvider provider)
        {
            GetProjectOrThrow(projectId);
            var dateTime = provider.GetUtcNow();

            foreach (var stuffId in stuffToMove)
            {
                StuffInfo stuffInfo;
                if (!_aggState.StuffInInbox.TryGetValue(stuffId, out stuffInfo))
                {
                    throw DomainError.Named("unknown-stuff", "Unknown stuff {0}", stuffId);
                }

                Apply(new StuffArchived(_aggState.Id, stuffId, dateTime));
                Apply(new ActionDefined(_aggState.Id, new ActionId(Guid.NewGuid()), projectId, stuffInfo.Description, dateTime));
            }
        }
Exemplo n.º 19
0
        public void ProduceACar(string employeeName, string carModel, ICarBlueprintLibrary carBlueprintLibrary)
        {
            ThrowExceptionIfFactoryIsNotOpen();

            if (!_aggregateState.ListOfEmployeeNames.Contains(employeeName))
            {
                throw DomainError.Named("unknown-employee", ":> '{0}' not assigned to factory", employeeName);
            }

            if (_aggregateState.EmployeesWhoHaveProducedACarToday.Contains(employeeName))
            {
                throw DomainError.Named("employee-already-produced-car-today", ":> '{0}' not assigned to factory", employeeName);
            }


            var design = carBlueprintLibrary.TryToGetBlueprintForModelOrNull(carModel);

            if (design == null)
            {
                throw DomainError.Named("car-model-not-found", "Model '{0}' not found", carModel);
            }


            var partsUsedToBuildCar = new List <CarPart>();

            foreach (var part in design.RequiredParts)
            {
                if (_aggregateState.GetNumberOfAvailablePartsQuantity(part.Name) < part.Quantity)
                {
                    throw DomainError.Named("required-part-not-found", ":> {0} not found", part.Name);
                }

                // remeber the CarPart that will be used to build the specififed carModel
                partsUsedToBuildCar.Add(new CarPart(part.Name, part.Quantity));
            }

            DoRealWork("produce a car - " + "'" + employeeName + "'" + " is building a '" + carModel + "'");

            // As mentioned in Episode 12 of the BTW podcast, this code below is wrong.
            // The ICarBlueprintLibrary passed in, is not used.  Hard coded "parts" was ALWAYS used.
            // Tried to fix with the partsUsedToBuildCar approach but needs to be tested.
            // var parts = new[] { new CarPart("chassis", 1), new CarPart("wheels", 4), new CarPart("engine", 1) };

            RecordAndRealizeThat(new CarProduced(_aggregateState.Id, employeeName, carModel, partsUsedToBuildCar.ToArray()));
        }
        protected void ThrowOnWrongEvent(IAttributeSetInstanceExtensionFieldMvoStateEvent stateEvent)
        {
            var stateEntityId = this.AttributeSetInstanceExtensionFieldId;                    // Aggregate Id
            var eventEntityId = stateEvent.StateEventId.AttributeSetInstanceExtensionFieldId; // EntityBase.Aggregate.GetStateEventIdPropertyIdName();

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

            var stateVersion = this.AttrSetInstEFGroupVersion;
            var eventVersion = stateEvent.StateEventId.AttrSetInstEFGroupVersion;

            if (stateVersion != eventVersion)
            {
                throw DomainError.Named("concurrencyConflict", "Conflict between state version {0} and event version {1}", stateVersion, eventVersion);
            }
        }
Exemplo n.º 21
0
        protected void ThrowOnWrongEvent(IOrganizationStateEvent stateEvent)
        {
            var stateEntityId = this.OrganizationId;                    // Aggregate Id
            var eventEntityId = stateEvent.StateEventId.OrganizationId; // EntityBase.Aggregate.GetStateEventIdPropertyIdName();

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

            var stateVersion = this.Version;
            var eventVersion = stateEvent.StateEventId.Version;

            if (stateVersion != eventVersion)
            {
                throw DomainError.Named("concurrencyConflict", "Conflict between state version {0} and event version {1}", stateVersion, eventVersion);
            }
        }
Exemplo n.º 22
0
        public void AddPermissionToSecurityItem(UserId userId, string permission)
        {
            if (string.IsNullOrEmpty(permission))
            {
                throw DomainError.Named("empty", "Permission can't be empty");
            }

            if (!_state.ContainsUser(userId))
            {
                throw DomainError.Named("invalid-user", "User {0} does not exist", userId.Id);
            }

            var user = _state.GetUser(userId);

            if (!user.Permissions.Contains(permission))
            {
                Apply(new PermissionAddedToSecurityItem(_state.Id, user.Id, user.DisplayName, permission, user.Token));
            }
        }
Exemplo n.º 23
0
 public virtual void ThrowOnInvalidStateTransition(ICommand c)
 {
     if (((IPermissionStateProperties)_state).Version == PermissionState.VersionZero)
     {
         if (IsCommandCreate((IPermissionCommand)c))
         {
             return;
         }
         throw DomainError.Named("premature", "Can't do anything to unexistent aggregate");
     }
     if (_state.Deleted)
     {
         throw DomainError.Named("zombie", "Can't do anything to deleted aggregate.");
     }
     if (IsCommandCreate((IPermissionCommand)c))
     {
         throw DomainError.Named("rebirth", "Can't create aggregate that already exists");
     }
 }
 public virtual OrganizationStructureTypeStateCreatedOrMergePatchedOrDeletedDto ToOrganizationStructureTypeStateEventDto(IOrganizationStructureTypeEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IOrganizationStructureTypeStateCreated)stateEvent;
         return(ToOrganizationStructureTypeStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IOrganizationStructureTypeStateMergePatched)stateEvent;
         return(ToOrganizationStructureTypeStateMergePatchedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.Deleted)
     {
         var e = (IOrganizationStructureTypeStateDeleted)stateEvent;
         return(ToOrganizationStructureTypeStateDeletedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
 public virtual ShipmentReceiptImageStateCreatedOrMergePatchedOrRemovedDto ToShipmentReceiptImageStateEventDto(IShipmentReceiptImageEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IShipmentReceiptImageStateCreated)stateEvent;
         return(ToShipmentReceiptImageStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IShipmentReceiptImageStateMergePatched)stateEvent;
         return(ToShipmentReceiptImageStateMergePatchedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.Removed)
     {
         var e = (IShipmentReceiptImageStateRemoved)stateEvent;
         return(ToShipmentReceiptImageStateRemovedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
 public virtual void ThrowOnInvalidStateTransition(ICommand c)
 {
     if (((IAttributeSetInstanceExtensionFieldMvoStateProperties)_state).AttrSetInstEFGroupVersion == AttributeSetInstanceExtensionFieldMvoState.VersionZero)
     {
         if (IsCommandCreate((IAttributeSetInstanceExtensionFieldMvoCommand)c))
         {
             return;
         }
         throw DomainError.Named("premature", "Can't do anything to unexistent aggregate");
     }
     if (_state.Deleted)
     {
         throw DomainError.Named("zombie", "Can't do anything to deleted aggregate.");
     }
     if (IsCommandCreate((IAttributeSetInstanceExtensionFieldMvoCommand)c))
     {
         throw DomainError.Named("rebirth", "Can't create aggregate that already exists");
     }
 }
Exemplo n.º 27
0
 void ThrowOnInvalidStateTransition(ICommand <UserId> e)
 {
     if (_state.Version == 0)
     {
         if (e is CreateUser)
         {
             return;
         }
         throw DomainError.Named("premature", "Can't do anything to unexistent aggregate");
     }
     if (_state.Version == -1)
     {
         throw DomainError.Named("zombie", "Can't do anything to deleted aggregate.");
     }
     if (e is CreateUser)
     {
         throw DomainError.Named("rebirth", "Can't create aggregate that already exists");
     }
 }
 public virtual MovementConfirmationLineStateCreatedOrMergePatchedOrRemovedDto ToMovementConfirmationLineStateEventDto(IMovementConfirmationLineEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IMovementConfirmationLineStateCreated)stateEvent;
         return(ToMovementConfirmationLineStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IMovementConfirmationLineStateMergePatched)stateEvent;
         return(ToMovementConfirmationLineStateMergePatchedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.Removed)
     {
         var e = (IMovementConfirmationLineStateRemoved)stateEvent;
         return(ToMovementConfirmationLineStateRemovedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
 public virtual UserClaimMvoStateCreatedOrMergePatchedOrDeletedDto ToUserClaimMvoStateEventDto(IUserClaimMvoEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IUserClaimMvoStateCreated)stateEvent;
         return(ToUserClaimMvoStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IUserClaimMvoStateMergePatched)stateEvent;
         return(ToUserClaimMvoStateMergePatchedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.Deleted)
     {
         var e = (IUserClaimMvoStateDeleted)stateEvent;
         return(ToUserClaimMvoStateDeletedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }
Exemplo n.º 30
0
 public virtual AttributeSetInstanceExtensionFieldStateCreatedOrMergePatchedOrDeletedDto ToAttributeSetInstanceExtensionFieldStateEventDto(IAttributeSetInstanceExtensionFieldEvent stateEvent)
 {
     if (stateEvent.EventType == StateEventType.Created)
     {
         var e = (IAttributeSetInstanceExtensionFieldStateCreated)stateEvent;
         return(ToAttributeSetInstanceExtensionFieldStateCreatedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.MergePatched)
     {
         var e = (IAttributeSetInstanceExtensionFieldStateMergePatched)stateEvent;
         return(ToAttributeSetInstanceExtensionFieldStateMergePatchedDto(e));
     }
     else if (stateEvent.EventType == StateEventType.Deleted)
     {
         var e = (IAttributeSetInstanceExtensionFieldStateDeleted)stateEvent;
         return(ToAttributeSetInstanceExtensionFieldStateDeletedDto(e));
     }
     throw DomainError.Named("invalidEventType", String.Format("Invalid state event type: {0}", stateEvent.EventType));
 }