public static Response TryActivate(this BaseServerEntity entity, DateTime now) { switch (entity.EntityState) { case EntityState.Active: return(Response.Success()); case EntityState.Deleted: return(Response.Failure(DomainErrors.InvalidEntityState(entity.EntityState))); case EntityState.Draft: case EntityState.Archived: entity.Activate(now); return(Response.Success()); default: throw new ArgumentOutOfRangeException(); } }
public static bool CanRemove(this BaseServerEntity entity) { return(entity.EntityState != EntityState.Active); }