Best NBi code snippet using NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder.Build
PowerBiDesktopConnectionStringBuilder.cs
Source:PowerBiDesktopConnectionStringBuilder.cs
...5using System.Threading.Tasks;6using System.Text.RegularExpressions;7namespace NBi.Core.PowerBiDesktop8{9 public class PowerBiDesktopConnectionStringBuilder10 {11 private bool isBuilt = false;12 private string connectionString;13 public void Build(string mainWindowTitle)14 {15 connectionString = BuildLocalConnectionString(mainWindowTitle);16 isBuilt = true;17 }18 public string GetConnectionString()19 {20 if (!isBuilt)21 throw new InvalidOperationException();22 return connectionString;23 }24 private static async Task<System.Diagnostics.Process[]> DelayUntilServerIsRunningAsync(int delay = 2000, int timeout = 10000)25 {26 var end = DateTime.Now.AddMilliseconds(timeout);27 var processes = System.Diagnostics.Process.GetProcessesByName("msmdsrv");28 while (!processes.Any() && DateTime.Now < end)29 {30 await Task.Delay(delay);31 processes = System.Diagnostics.Process.GetProcessesByName("msmdsrv");32 }33 return processes;34 }35 protected virtual string BuildLocalConnectionString(string name)36 {37 var task = Task.Run(async() => await DelayUntilServerIsRunningAsync());38 var processes = task.Result;39 if (!processes.Any())40 {41 throw new ConnectionException42 (43 new InvalidOperationException("No process found with the name 'msmdsrv'. Are you sure your Power BI desktop solution is running?")44 , $"PBIX = {name}"45 );46 }47 48 var process = processes.FirstOrDefault(p => p.GetParent().MainWindowTitle == $"{name} - Power BI Desktop");49 if (process==null)50 {51 var existingParentNameString = new StringBuilder();52 foreach (var p in processes)53 existingParentNameString.Append($"'{p.GetParent().MainWindowTitle}', '");54 existingParentNameString = existingParentNameString.Remove(existingParentNameString.Length - 2, 2);55 56 throw new ConnectionException57 (58 new NullReferenceException($"No parent process found with the name '{name}'. Existing parent names were {existingParentNameString.ToString()}.")59 , $"PBIX = {name}"60 );61 }62 var cmdLine = process.GetCommandLine();63 var workspace = GetWorkspace(cmdLine);64 var port = GetPort($"{workspace}\\msmdsrv.port.txt");65 return $"Data Source=localhost:{port};";...
PowerBiDesktopClientFactory.cs
Source:PowerBiDesktopClientFactory.cs
...10namespace NBi.Core.Query.Client11{12 class PowerBiDesktopClientFactory : IClientFactory13 {14 private readonly PowerBiDesktopConnectionStringBuilder connectionStringBuilder = new PowerBiDesktopConnectionStringBuilder();15 public PowerBiDesktopClientFactory()16 { }17 public PowerBiDesktopClientFactory(PowerBiDesktopConnectionStringBuilder connectionStringBuilder)18 {19 this.connectionStringBuilder = connectionStringBuilder;20 }21 public bool CanHandle(string connectionString)22 {23 return !string.IsNullOrEmpty(ParseConnectionString(connectionString));24 }25 public IClient Instantiate(string connectionString)26 {27 if (!CanHandle(connectionString))28 throw new ArgumentException();29 var csb = new DbConnectionStringBuilder() { ConnectionString = connectionString };30 connectionStringBuilder.Build(csb["pbix"].ToString());31 connectionString = connectionStringBuilder.GetConnectionString();32 return new PowerBiDesktopClient(connectionString);33 }34 private string ParseConnectionString(string connectionString)35 {36 var providerName = ExtractProviderName(connectionString);37 return providerName;38 }39 private string ExtractProviderName(string connectionString)40 {41 try42 {43 var csb = new DbConnectionStringBuilder() { ConnectionString = connectionString };44 if (csb.ContainsKey("pbix"))45 return "Microsoft.AnalysisServices.AdomdClient";46 }47 catch (Exception) { return null; }48 return null;49 }50 }51}...
PowerBIClientFactoryTest.cs
Source:PowerBIClientFactoryTest.cs
...12 [TestFixture]13 public class PowerBIClientFactoryTest14 {15 #region Power BI Desktop16 private class PowerBiDesktopConnectionStringBuilderFake : PowerBiDesktopConnectionStringBuilder17 {18 public static string ConnectionString = "Data Source=localhost:2325;";19 protected override string BuildLocalConnectionString(string name)20 {21 return ConnectionString;22 }23 }24 #endregion25 [Test]26 public void Get_PowerBiDesktop_AdommdConnection()27 {28 //Call the method to test29 var connStr = "PBIX=My Power BI Desktop;";30 var factory = new PowerBiDesktopClientFactory(new PowerBiDesktopConnectionStringBuilderFake());31 var actual = factory.Instantiate(connStr);32 Assert.That(actual, Is.InstanceOf<PowerBiDesktopClient>());33 var conn = actual.CreateNew();34 Assert.That(conn, Is.InstanceOf<AdomdConnection>());35 Assert.That((conn as AdomdConnection).ConnectionString, Is.EqualTo(PowerBiDesktopConnectionStringBuilderFake.ConnectionString));36 }37 }38}...
Build
Using AI Code Generation
1var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");3var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");5var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();6builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");7var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();8builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");9var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();10builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");11var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();12builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");13var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();14builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");15var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();16builder.Build("C:\Users\MyUser\Documents\MyFile.pbix");17var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();
Build
Using AI Code Generation
1NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2builder.Build("C:\Users\user\Documents\Power BI Desktop\Sample.pbix");3NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4builder.Build("C:\Users\user\Documents\Power BI Desktop\Sample.pbix", "Sample");5NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();6builder.Build("C:\Users\user\Documents\Power BI Desktop\Sample.pbix", "Sample", "Sample");7NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();8builder.Build("C:\Users\user\Documents\Power BI Desktop\Sample.pbix", "Sample", "Sample", "Sample");9NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();10builder.Build("C:\Users\user\Documents\Power BI Desktop\Sample.pbix", "Sample", "Sample", "Sample", "Sample");11NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();12builder.Build("C:\Users\user\Documents\Power BI Desktop\Sample.pbix", "Sample", "Sample", "Sample", "Sample", "Sample");
Build
Using AI Code Generation
1NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");3NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");5NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();6builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");7NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();8builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");9NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();10builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");11NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();12builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");13NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();14builder.Build(@"C:\Users\jdoe\Documents\My Reports\MyReport.pbix");
Build
Using AI Code Generation
1NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");3NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");5NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();6builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");7NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();8builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");9NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();10builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");11NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();12builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");13NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();14builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");15NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();16builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");17NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();18builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");19NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();20builder.Build("C:\Users\user\Documents\Power BI Desktop\Reports\Report1.pbix");
Build
Using AI Code Generation
1PowerBiDesktopConnectionStringBuilder csb = new PowerBiDesktopConnectionStringBuilder();2csb.Build("C:\Users\username\Desktop\pbixFile.pbix");3string connectionString = csb.ConnectionString;4PowerBiDesktopClientFactory clientFactory = new PowerBiDesktopClientFactory();5clientFactory.Build("C:\Users\username\Desktop\pbixFile.pbix");6var client = clientFactory.Instantiate();7PowerBiDesktopClient client = new PowerBiDesktopClient();8client.Build("C:\Users\username\Desktop\pbixFile.pbix");9PowerBiDesktopClient client = new PowerBiDesktopClient();10client.Build("C:\Users\username\Desktop\pbixFile.pbix");11var result = client.Execute("SELECT * FROM [Sales]");12PowerBiDesktopClient client = new PowerBiDesktopClient();13client.Build("C:\Users\username\Desktop\pbixFile.pbix");14var result = client.Execute("SELECT * FROM [Sales]");15var dt = result.Table;16PowerBiDesktopClient client = new PowerBiDesktopClient();17client.Build("C:\Users\username\Desktop\pbixFile.pbix");18var result = client.Execute("SELECT * FROM [Sales]");19var dt = result.Table;20var dt2 = result.Table;21PowerBiDesktopClient client = new PowerBiDesktopClient();22client.Build("C:\Users\username\Desktop\pbixFile.pbix");23var result = client.Execute("SELECT * FROM [Sales]");24var dt = result.Table;25var dt2 = result.Table;26var dt3 = result.Table;27PowerBiDesktopClient client = new PowerBiDesktopClient();28client.Build("
Build
Using AI Code Generation
1var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2var connectionString = builder.Build("C:\Users\MyUser\MyFile.pbix");3var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4var connectionString = builder.Build(@"C:\Users\MyUser\MyFile.pbix");5var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();6var connectionString = builder.Build("C:\\Users\\MyUser\\MyFile.pbix");7var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();8var connectionString = builder.Build(@"C:\\Users\\MyUser\\MyFile.pbix");9var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();10var connectionString = builder.Build(@"C:\\Users\\MyUser\\MyFile.pbix");11var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();12var connectionString = builder.Build(@"C:\\Users\\MyUser\\MyFile.pbix");
Build
Using AI Code Generation
1NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");3NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");5NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();6builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");7NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();8builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");9NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();10builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");11NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();12builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");13NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();14builder.Build(@"C:\Users\mattia.morabito\Desktop\test.pbit");
Build
Using AI Code Generation
1var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();2builder.Build("C:\Users\myUser\Documents\MyFile.pbix");3var builder = new NBi.Core.PowerBiDesktop.PowerBiDesktopConnectionStringBuilder();4builder.Parse("PowerBiDesktop=C:\Users\myUser\Documents\MyFile.pbix");5public string Build(string filePath)6public void Parse(string connectionString)7public string FilePath { get; set; }8public string File { get; set; }
Build
Using AI Code Generation
1using NBi.Core.PowerBiDesktop;2var builder = new PowerBiDesktopConnectionStringBuilder();3builder.Build("C:\\Users\\username\\Documents\\My Reports\\MyReport.pbix");4Console.WriteLine(builder.ConnectionString);5using NBi.Core.PowerBiDesktop;6var builder = new PowerBiDesktopConnectionStringBuilder();7builder.Build("C:\\Users\\username\\Documents\\My Reports\\MyReport.pbix", "MyReport");8Console.WriteLine(builder.ConnectionString);9using NBi.Core.PowerBiDesktop;10var builder = new PowerBiDesktopConnectionStringBuilder();11builder.Build("C:\\Users\\username\\Documents\\My Reports\\MyReport.pbix", "MyReport", "MyReport");12Console.WriteLine(builder.ConnectionString);13using NBi.Core.PowerBiDesktop;14var builder = new PowerBiDesktopConnectionStringBuilder();15builder.Build("C:\\Users\\username\\Documents\\My Reports\\MyReport.pbix", "MyReport", "MyReport", "MyReport");16Console.WriteLine(builder.ConnectionString);17using NBi.Core.PowerBiDesktop;18var builder = new PowerBiDesktopConnectionStringBuilder();19builder.Build("C:\\Users\\username\\Documents\\My Reports\\MyReport.pbix", "MyReport", "MyReport", "MyReport", "MyReport");20Console.WriteLine(builder.ConnectionString);
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!