Пример #1
0
        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);
            }
        }
Пример #2
0
        public PBIImport GetState()
        {
            PBIImport import = JsonConvert.DeserializeObject <PBIImport>(ParentPowerBIAPI.SendGETRequest(ApiURL).ResponseToString());

            import.ParentObject     = ParentObject;
            import.ParentPowerBIAPI = ParentPowerBIAPI;
            import.ParentGroup      = ParentGroup;

            return(import);
        }