public virtual async Task <Layout> SeedLayoutAsync(
            string name,
            string path,
            string displayName,
            Guid dataId,
            PlatformType platformType           = PlatformType.None,
            string redirect                     = "",
            string description                  = "",
            Guid?tenantId                       = null,
            CancellationToken cancellationToken = default)
        {
            var layout = await LayoutRepository.FindByNameAsync(name, cancellationToken : cancellationToken);

            if (layout == null)
            {
                layout = new Layout(
                    GuidGenerator.Create(),
                    path,
                    name,
                    displayName,
                    dataId,
                    platformType,
                    redirect,
                    description,
                    tenantId);
                layout = await LayoutRepository.InsertAsync(layout, cancellationToken : cancellationToken);
            }
            return(layout);
        }