private void Apply(ThemeCreated @event) { Name = @event.Name; Description = @event.Description; Folder = @event.Folder; SortOrder = @event.SortOrder; Status = @event.Status; }
public void Activate() { if (Status == ThemeStatus.Active) { throw new Exception("Theme already active."); } Status = ThemeStatus.Active; AddEvent(new ThemeActivated { AggregateRootId = Id }); }
public void Delete() { if (Status == ThemeStatus.Deleted) { throw new Exception("Theme already deleted."); } Status = ThemeStatus.Deleted; AddEvent(new ThemeDeleted { AggregateRootId = Id }); }
private Theme(CreateTheme cmd, IThemeSortOrderGenerator themeSortOrderGenerator) : base(cmd.Id) { Name = cmd.Name; Description = cmd.Description; Folder = cmd.Folder; SortOrder = themeSortOrderGenerator.GenerateNextSortOrder(); Status = ThemeStatus.Hidden; AddEvent(new ThemeCreated { AggregateRootId = Id, Name = Name, Description = Description, Folder = Folder, SortOrder = SortOrder, Status = Status }); }
public void Hide() { if (Status == ThemeStatus.Hidden) { throw new Exception("Theme already hidden."); } if (Status == ThemeStatus.Deleted) { throw new Exception("Theme is deleted."); } Status = ThemeStatus.Hidden; AddEvent(new ThemeHidden { AggregateRootId = Id }); }
public void _lock() { status = ThemeStatus.locked; }
public void unlock() { status = ThemeStatus.unlocked; }
private void Apply(ThemeHidden @event) { Status = ThemeStatus.Hidden; }
private void Apply(ThemeDeleted @event) { Status = ThemeStatus.Deleted; }
private void Apply(ThemeActivated @event) { Status = ThemeStatus.Active; }