/// <summary> /// - Post a user /// - Enable a free trial /// - returns its available features /// </summary> public static List<FeatureV2> PostTrial(string keyOffer, string keyUser, string nameUser, int? lcid = null, bool forced = false) { List<FeatureV2> result = null; // build the url var url = LtbUrl.Build(LtbResource.Trial, keyUser); if(forced) url += "?forced=true"; // build the deal to send var dealToSend = new DealV2 { KeyOffer = keyOffer, KeyUser = keyUser, NameUser = nameUser, LcidUser = (lcid ?? LtbConstants.LcidDefault) }; // create the request and send it var response = RequestFluent.Create(url) .Method(HttpVerbs.Post) .SendJson(dealToSend); // if succeeded if(response.HasBody) // return that content result = response.GetBodyAsJson<List<FeatureV2>>(); // manage failures ManageFailures(response); return result; }
/// <summary> /// - Post a user /// - Enable a free trial /// - returns its available features /// </summary> public ResponseEx TryPostTrial(string keyOffer, string keyUser, string nameUser, int? lcid, out List<FeatureV2> features) { ResponseEx result = null; features = null; // build the url string messageError; var url = LtbUrl.TryBuild(out messageError, LtbResource.Trial, keyUser); // if succeeded if(string.IsNullOrEmpty(messageError)) { // build the deal to send var dealToSend = new DealV2 { KeyOffer = keyOffer, KeyUser = keyUser, NameUser = nameUser, LcidUser = (lcid ?? LtbConstants.LcidDefault) }; // create the request and send it result = RequestFluent.Create(url) .ContentType(LtbConstants.Json) .BasicAuthentication(LtbConstants.KeyBusiness, LtbConstants.KeyApi) .Method(HttpVerbs.Post) .SendJson(dealToSend); // if we have a response if((result != null) // with a body && (result.HasBody)) { // get the content from the response body features = result.GetBodyAsJson<List<FeatureV2>>(); } } // if url building failed else result = ResponseEx.Failure(url, messageError); return result; }