public PBIImport ImportPBIX(string displayName, string pbixPath, PBIImportConflictHandlerMode nameConflict = PBIImportConflictHandlerMode.Abort) { string fullUrl = string.Format("{0}/{1}?datasetDisplayName={2}&nameConflict={3}", ApiURL, PBIAPI.Imports.ToString().ToLower(), displayName, nameConflict.ToString()); FileStream content = File.Open(pbixPath, FileMode.Open); Dictionary <string, string> contentHeaders = new Dictionary <string, string>(); contentHeaders.Add("Content-Type", "application/octet-stream"); contentHeaders.Add("Content-Disposition", @"form-data; name=""file""; filename=""" + pbixPath + @""""); using (HttpResponseMessage response = ParentPowerBIAPI.SendPOSTRequest(fullUrl, content, contentHeaders)) { string result = response.ResponseToString(); PBIImport import = JsonConvert.DeserializeObject <PBIImport>(result); import.ParentObject = this; import.ParentPowerBIAPI = ParentPowerBIAPI; if (!(this is PBIAPIClient)) // if the caller is a PBIClient, we do not have a ParentGroup but need to use "My Workspace" instead { import.ParentGroup = this; } return(import); } }
public PBIImport GetState() { PBIImport import = JsonConvert.DeserializeObject <PBIImport>(ParentPowerBIAPI.SendGETRequest(ApiURL).ResponseToString()); import.ParentObject = ParentObject; import.ParentPowerBIAPI = ParentPowerBIAPI; import.ParentGroup = ParentGroup; return(import); }