public ServiceAddWindow(BimbotDocument document) { InitializeComponent(); DataContext = this; CurrentBimbotDocument = document; // Get services if (AvailableServices == null) { AvailableServices = new ObservableCollection <Service>(); GetAvailableServices(); } ReUseAuthorizedProviders(document); this.Title = "Add service to project '" + CurrentBimbotDocument.Name + "'"; // Fill the combobox of triggers newTrigger.Items.Clear(); foreach (string key in textToTrigger.Keys) { newTrigger.Items.Add(key); } // Fill the combobox of configurations IFCExportConfigurationsMapCustom configurationsMap = new IFCExportConfigurationsMapCustom(); foreach (var config in configurationsMap.Values) { newConfiguration.Items.Add(config); } }
public void ReUseAuthorizedProviders(BimbotDocument document) { if (document.RegisteredProviders == null) { return; } foreach (Service service in AvailableServices) { if (document.RegisteredProviders.ContainsKey(service.Provider.Name)) { service.ReAssignProvider(document.RegisteredProviders); } } }
public void RegisterForDocument(BimbotDocument document) { byte[] data = Encoding.ASCII.GetBytes("{\n" + "\"type\": \"pull\",\n" + "\"client_name\": \"Revit file " + document.Name + "\",\n" + "\"client_url\": \"-no url-\",\n" + "\"client_description\": \"A project file opened in Revit\",\n" + "\"client_icon\": \"https://www.itannex.com/wp-content/uploads/2016/12/revit-icon-128px-hd.png \",\n" + "\"redirect_url\": \"\"\n" + "}"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(RegisterUrl); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; try { using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(data, 0, data.Length); } WebResponse response = request.GetResponse() as HttpWebResponse; Debug.Assert(response != null); using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string str = reader.ReadToEnd(); OAuthRegisterResponse regData = JsonConvert.DeserializeObject <OAuthRegisterResponse>(str); ClientId = regData.client_id; ClientSecret = regData.client_secret; document.RegisteredProviders.Add(Name, this); } } catch (Exception ex) { Console.Write(ex); } }