diff --git a/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs b/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs index 7c83be899..bb297f27e 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs @@ -60,11 +60,27 @@ namespace Squidex.Domain.Apps.Entities.Contents.State } } + protected void On(ContentUpdateProposed @event) + { + DataDraft = @event.Data; + + IsPending = true; + } + + protected void On(ContentChangesDiscarded @event) + { + DataDraft = Data; + + IsPending = false; + } + protected void On(ContentChangesPublished @event) { ScheduleJob = null; - UpdatePublished(); + Data = DataDraft; + + IsPending = false; } protected void On(ContentStatusChanged @event) @@ -75,18 +91,10 @@ namespace Squidex.Domain.Apps.Entities.Contents.State if (@event.Status == Status.Published) { - UpdatePublished(); - } - } + Data = DataDraft; - protected void On(ContentUpdateProposed @event) - { - UpdateDraft(@event.Data, true); - } - - protected void On(ContentChangesDiscarded @event) - { - UpdateDraft(Data, false); + IsPending = false; + } } protected void On(ContentSchedulingCancelled @event) @@ -110,19 +118,5 @@ namespace Squidex.Domain.Apps.Entities.Contents.State return Clone().Update(payload, @event.Headers, r => r.DispatchAction(payload)); } - - private void UpdateDraft(NamedContentData data, bool isPending) - { - DataDraft = data; - - IsPending = isPending; - } - - private void UpdatePublished() - { - Data = DataDraft; - - IsPending = false; - } } }