private void DeactivatedIdCmd(DeactivatedId cmd) { // ensure id exists if (!State.IdExists(cmd.Id)) { Sender.Tell(new DeactivateId_IdNotFound()); return; } // ensure id active if (State.IdsInactive.Contains(cmd.Id) || State.IdsDeletedInactive.Contains(cmd.Id)) { Sender.Tell(new DeactivateId_IdAlreadyInactive()); return; } // deactivate id var deactivatedId = new DeactivatedId(cmd.Id); PersistAndTrack(deactivatedId, result => { DeactivatedIdEvnt(result); Sender.Tell(new DeactivateId_Success()); }); }
private void DeactivatedIdEvnt(DeactivatedId evnt) { State.DeactivateId(evnt.Id); }