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));
        }
Beispiel #4
0
        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));
        }