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);
 }