/// <summary> /// Gets entitlements against a specified realm. The realm must be set in the context. /// </summary> /// <param name="entitlementBaseUrl">Base Url of the Entitlements API for OAuth1 vs OAuth2. Default is set to OAuth2 prod environment</param> /// <returns>Returns EntitlementsResponse</returns> public void GetEntitlementsAsync(string entitlementBaseUrl = Utility.CoreConstants.ENTITLEMENT_BASEURL) { Console.Write("GetEntitlementsAsync started \n"); this.serviceContext.IppConfiguration.Logger.CustomLogger.Log(Diagnostics.TraceLevel.Info, "Called Method GetEntitlements Asynchronously."); AsyncRestHandler asyncRestHandler = new AsyncRestHandler(this.serviceContext); asyncRestHandler.OnCallCompleted += new EventHandler <AsyncCallCompletedEventArgs>(this.GetEntitlementsAsyncCompleted); EntitlementCallCompletedEventArgs <Intuit.Ipp.Data.EntitlementsResponse> entitlementCallCompletedEventArgs = new EntitlementCallCompletedEventArgs <Intuit.Ipp.Data.EntitlementsResponse>(); try { string uri = string.Format(CultureInfo.InvariantCulture, "{0}/entitlements/{1}/{2}", entitlementBaseUrl, Utility.CoreConstants.VERSION, serviceContext.RealmId); orginialSerializationFormat = this.serviceContext.IppConfiguration.Message.Response.SerializationFormat; // Only XML format is supported by Entitlements API serviceContext.IppConfiguration.Message.Response.SerializationFormat = Core.Configuration.SerializationFormat.Xml; // Creates request parameters RequestParameters parameters = new RequestParameters(uri, HttpVerbType.GET, Utility.CoreConstants.CONTENTTYPE_APPLICATIONXML); HttpWebRequest request = asyncRestHandler.PrepareRequest(parameters, null, uri); asyncRestHandler.GetResponse(request); } catch (SystemException systemException) { this.serviceContext.IppConfiguration.Logger.CustomLogger.Log(TraceLevel.Error, systemException.Message); IdsException idsException = new IdsException(systemException.Message); entitlementCallCompletedEventArgs.Error = idsException; this.OnGetEntilementAsyncCompleted(this, entitlementCallCompletedEventArgs); } }
internal IEntity UpdateEntity(IEntity entity, Core.Configuration.SerializationFormat serializationFormat = Core.Configuration.SerializationFormat.Xml) { if (serializationFormat == Core.Configuration.SerializationFormat.Json) { this.serviceContext.IppConfiguration.Message.Request.SerializationFormat = Core.Configuration.SerializationFormat.Json; } IEntity updatedEntity = null; try { updatedEntity = this.dataService.Update(entity); } catch (Intuit.Ipp.Exception.IdsException) { this.serviceContext.IppConfiguration.Message.Request.SerializationFormat = Core.Configuration.SerializationFormat.Xml; throw; } this.serviceContext.IppConfiguration.Message.Request.SerializationFormat = Core.Configuration.SerializationFormat.Xml; return(updatedEntity); }
/// <summary> /// Gets entitlements against a specified realm. The realm must be set in the context. /// </summary> /// <param name="entitlementBaseUrl">Base Url of the Entitlements API for OAuth1 vs OAuth2. Default is set to OAuth2 prod environment.</param> /// <returns>Returns EntitlementsResponse</returns> public EntitlementsResponse GetEntitlements(string entitlementBaseUrl = Utility.CoreConstants.ENTITLEMENT_BASEURL) { this.serviceContext.IppConfiguration.Logger.CustomLogger.Log(Diagnostics.TraceLevel.Info, "Called Method GetEntitlements."); string uri = string.Format(CultureInfo.InvariantCulture, "{0}/entitlements/{1}/{2}", entitlementBaseUrl, Utility.CoreConstants.VERSION, serviceContext.RealmId); orginialSerializationFormat = this.serviceContext.IppConfiguration.Message.Response.SerializationFormat; // Only XML format is supported by Entitlements API serviceContext.IppConfiguration.Message.Response.SerializationFormat = Core.Configuration.SerializationFormat.Xml; // Creates request parameters RequestParameters parameters = new RequestParameters(uri, HttpVerbType.GET, Utility.CoreConstants.CONTENTTYPE_APPLICATIONXML); // Prepares request HttpWebRequest request = this.restHandler.PrepareRequest(parameters, null, uri); string response = string.Empty; try { // gets response response = this.restHandler.GetResponse(request); } catch (IdsException ex) { IdsExceptionManager.HandleException(ex); } CoreHelper.CheckNullResponseAndThrowException(response); // de serialize object EntitlementsResponse restResponse = (EntitlementsResponse)CoreHelper.GetSerializer(this.serviceContext, false).Deserialize <EntitlementsResponse>(response); this.serviceContext.IppConfiguration.Logger.CustomLogger.Log(Diagnostics.TraceLevel.Info, "Finished Executing Method GetEntitlements."); // change Response Serialization Format back to Config value serviceContext.IppConfiguration.Message.Response.SerializationFormat = orginialSerializationFormat; return(restResponse); }