public async Task <ProcessStatus> ChangeTransportAsync(int transportId, ChangeTransportRequest changeTransportRequest) { var url = $"{_config.TransportsUrl}/{transportId}"; var content = BolXmlSerializer.Serialize <ChangeTransportRequest>(changeTransportRequest, _config.Namespace); return(await _connector.GetDataAsync <ProcessStatus>(HttpMethod.Post, url, new XmlRootAttribute("ProcessStatus") { Namespace = _config.Namespace }, content)); }
public async Task <ProcessStatus> UpdateReturnItemStatusAsync(int returnNumber, ReturnItemStatusUpdate returnItemStatusUpdate) { var content = BolXmlSerializer.Serialize(returnItemStatusUpdate, _config.Namespace); var url = $"{_config.ReturnItemsUrl}/{returnNumber}/handle"; return(await _connector.GetDataAsync <ProcessStatus>(HttpMethod.Put, url, new XmlRootAttribute("ProcessStatus") { Namespace = _config.Namespace }, content)); }
public async Task <ProcessStatus> CancelOrderItemAsync(int orderItemId, Cancellation cancellation) { var content = BolXmlSerializer.Serialize <Cancellation>(cancellation, _config.Namespace); var url = $"{_config.OrderItemsUrl}/{orderItemId}/cancellation"; return(await _connector.GetDataAsync <ProcessStatus>(HttpMethod.Put, url, new XmlRootAttribute("ProcessStatus") { Namespace = _config.Namespace }, content)); }
public async Task <TEntity> GetDataAsync <TEntity>(HttpMethod method, string path, XmlRootAttribute xmlRootAttribute, string content = null) { using (var client = new HttpClient()) { SetHeaders(client, method, path); var request = GetRequestMessage(method, path, content ?? String.Empty); var response = await client.SendAsync(request); var data = await response.Content.ReadAsStringAsync(); try { return(BolXmlSerializer.Deserialize <TEntity>(data, xmlRootAttribute)); } catch (InvalidOperationException) { var exceptionData = BolXmlSerializer.Deserialize <ServiceExceptionData>(data, BolXmlSerializer.GetXmlRootAttribute(data)); throw new ServiceException(exceptionData); } } }
public async Task <ProcessStatus> CreateShipmentAsync(ShipmentRequest shipmentRequest) { var content = BolXmlSerializer.Serialize <ShipmentRequest>(shipmentRequest, _config.Namespace); return(await _connector.GetDataAsync <ProcessStatus>(HttpMethod.Post, _config.ShipmentsUrl, new XmlRootAttribute("ProcessStatus") { Namespace = _config.Namespace }, content)); }