public ClippMessageDetail CloseTab(ClippTabDetailRequest clippTabDetailRequest) { try { using (var client = new HttpClient(_httpClientHandler)) { client.BaseAddress = new Uri(string.Format("http://{0}:{1}/", _baseAddress, _port)); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var methodAddress = string.Format("{0}/Actions/CloseTab?clippTabRef={1}&amount={2}", ClippAddress, Guid.Parse(clippTabDetailRequest.ClippTabRef), clippTabDetailRequest.Amount); if (clippTabDetailRequest.MessageId != "") { methodAddress = methodAddress + string.Format("&clippMessageId={0}", Guid.Parse(clippTabDetailRequest.MessageId)); } var serializedClippTabDetail = JsonConvert.SerializeObject(clippTabDetailRequest.TabData, typeof(ClippTabDetail), new JsonSerializerSettings { }); HttpContent httpContent = new StringContent(serializedClippTabDetail, Encoding.UTF8, "application/json"); var response = client.PostAsync(methodAddress, httpContent); response.Wait(); var result = response.Result; if (result.IsSuccessStatusCode) { var clippMessageTask = result.Content.ReadAsStringAsync(); clippMessageTask.Wait(); var jsonSerializer = new DataContractJsonSerializer(typeof(ClippMessageDetail)); var memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(clippMessageTask.Result)); var clippMessageDetail = (ClippMessageDetail)jsonSerializer.ReadObject(memoryStream); return(clippMessageDetail); } } } catch (Exception exception) { ServiceLogger.LogException("Exception in CloseTab", exception); } return(null); }
public void UpdateTabDetails(ClippTabDetailRequest clippTabDetailRequest) { try { using (var client = new HttpClient(_httpClientHandler)) { client.BaseAddress = new Uri(string.Format("http://{0}:{1}/", _baseAddress, _port)); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var methodAddress = string.Format("{0}/Actions/SendTabDetails?clippTabRef={1}", ClippAddress, Guid.Parse(clippTabDetailRequest.ClippTabRef)); if (clippTabDetailRequest.MessageId != "") { methodAddress = methodAddress + string.Format("&clippMessageRef={0}", Guid.Parse(clippTabDetailRequest.MessageId)); } var serializedClippTabDetail = JsonConvert.SerializeObject(clippTabDetailRequest.TabData, typeof(ClippTabDetail), new JsonSerializerSettings { }); HttpContent httpContent = new StringContent(serializedClippTabDetail, Encoding.UTF8, "application/json"); var response = client.PostAsync(methodAddress, httpContent); response.Wait(); var result = response.Result; if (!result.IsSuccessStatusCode) { throw new InvalidOperationException("There was an error executing the operation, please try again later."); } } } catch (Exception exception) { ServiceLogger.LogException("Exception in UpdateTabDetails", exception); } }