public DeletePickupResponse RequestDeletePickup(DeletePickupRequest req) { // Validate the request List <ValidationResult> validationResult = Common.Validate(ref req); if (validationResult.Any()) { string errors = MyDHLAPIValidationException.PrintResults(validationResult); throw new MyDHLAPIValidationException(validationResult); } LastJSONRequest = JsonConvert.SerializeObject(req, Formatting.Indented); LastDeletePickupJSONRequest = LastJSONRequest; LastJSONResponse = SendRequestAndReceiveResponse(LastJSONRequest, "DeleteShipment"); LastDeletePickupJSONResponse = LastJSONResponse; DeletePickupResponse retval; try { // Deserialize the result back to an object. List <string> errors = new List <string>(); retval = JsonConvert.DeserializeObject <DeletePickupResponse>(LastJSONResponse , new JsonSerializerSettings() { Error = delegate(object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args) { errors.Add(args.ErrorContext.Error.Message); args.ErrorContext.Handled = true; } }); } catch { retval = new DeletePickupResponse(); } return(retval); }
public Task <DeletePickupResponse> RequestDeletePickupAsync(DeletePickupRequest req) { return(Task.Run(() => RequestDeletePickup(req))); }
private void BtnGo_Click(object sender, EventArgs e) { MyDHLAPI api = new MyDHLAPI(Common.CurrentCredentials["Username"] , Common.CurrentCredentials["Password"] , Common.CurrentRestBaseUrl); try { this.Enabled = false; this.UseWaitCursor = true; Cursor.Current = Cursors.WaitCursor; if (string.IsNullOrWhiteSpace(txtPickupCountry.Text) || string.IsNullOrWhiteSpace(txtRequestorName.Text)) { MessageBox.Show(@"Missing data."); return; } txtPickupCountry.Text = txtPickupCountry.Text.Trim(); txtRequestorName.Text = txtRequestorName.Text.Trim(); txtPickupRequestNumber.Text = txtPickupRequestNumber.Text.Trim(); DeletePickupRequest req = new DeletePickupRequest { DeleteRequest = new DeleteRequest { Request = new Request() { ServiceHeader = new ServiceHeader() { ShippingSystemPlatform = "MyDHL API Test App", ShippingSystemPlatformVersion = Application.ProductVersion, Plugin = "MyDHL API C# Library", PluginVersion = api.GetVersion() } }, PickupDate = dtpPickupDate.Value, PickupCountry = txtPickupCountry.Text, RequestorName = txtRequestorName.Text, PickupRequestNumber = txtPickupRequestNumber.Text, Reason = (Enums.DeletePickupRequestReason)cmbReason.SelectedValue } }; DeletePickupResponse resp = api.RequestDeletePickupAsync(req).Result; if (null != resp) { txtResult.Text = Notification.GetAllNotifications(resp.Notifications, Environment.NewLine); } } catch (MyDHLAPIValidationException gvx) { txtResult.Text = MyDHLAPIValidationException.PrintResults(gvx.ExtractValidationResults(), 0); } catch (Exception ex) { txtResult.Text = ex.Message; } finally { this.Enabled = true; this.UseWaitCursor = false; Cursor.Current = Cursors.Default; _lastJsonRequest = api.LastDeletePickupJSONRequest; _lastJsonResponse = api.LastDeletePickupJSONResponse; } }