static async Task MapAndCreateDashboard(this MetabaseApi api, Dashboard stateDashboard, IReadOnlyList <Mapping <CardId> > cardMapping) { var mappedCards = MapDashboardCards(stateDashboard.Cards, cardMapping).ToList(); Console.WriteLine($"Creating dashboard '{stateDashboard.Name}'"); await api.CreateDashboard(stateDashboard); await api.AddCardsToDashboard(stateDashboard.Id, mappedCards); }
static async Task MapAndCreateDashboard(this MetabaseApi api, Dashboard stateDashboard, IReadOnlyList <Mapping <CardId> > cardMapping, IReadOnlyList <Mapping <Collection> > collectionMapping) { var mappedCards = MapDashboardCards(stateDashboard.Cards, cardMapping).ToList(); if (stateDashboard.CollectionId.HasValue) { stateDashboard.CollectionId = collectionMapping .Where(x => x.Source.Id == stateDashboard.CollectionId.Value) .Select(x => x.Target.Id) .First(); } Console.WriteLine($"Creating dashboard '{stateDashboard.Name}'"); await api.CreateDashboard(stateDashboard); await api.AddCardsToDashboard(stateDashboard.Id, mappedCards); }