Zum Hauptinhalt springen

Web-Service API - Beispiel: Beleganlage

Im Beispiel wird eine neue Bestellung angelegt. Das Vorgehen ist aber auch auf die anderen Belegarten übertragbar.

public void CreateSupplierOrderTest(){ var centronService = this.GetCentronRestService(); var createNewReceiptResult = centronService.CreateNewReceipt( new Request<CreateReceiptRequest>() { Ticket = GetWorkingTicket(), Data = new CreateReceiptRequest() { ReceiptKind = CentronObjectKindNumeric.SupplierOrder, CreateData = new CreateReceiptData() { IgnoreCallbacks = true }, CustomerI3D = 10244 } }); Assert.IsNotNull(createNewReceiptResult); Assert.AreEqual(StatusCode.Success, createNewReceiptResult.Status, createNewReceiptResult.Message); Assert.IsTrue(createNewReceiptResult.Result.Count == 1); var newReceipt = (ReceiptSupplierOrderDTO)createNewReceiptResult.Result.First().Receipt; var newArticleResult = centronService.CreateArticleReceiptItemsV2( new Request<CreateArticleReceiptItemsRequest>() { Ticket = GetWorkingTicket(), Data = new CreateArticleReceiptItemsRequest() { Receipt = newReceipt, ArticleI3D = 15272, WarehouseI3D = -1 } }); Assert.IsNotNull(newArticleResult); Assert.AreEqual(StatusCode.Success, newArticleResult.Status, newArticleResult.Message); Assert.IsTrue(newArticleResult.Result.Count > 0); foreach (var item in newArticleResult.Result) { newReceipt.Items.AddRange(item.ReceiptItems.Cast<ReceiptSupplierOrderItemDTO>()); } var emptyPosResult = centronService.CreateFreetextReceiptItem(new Request<CreateFreetextReceiptItemRequest>() { Ticket = GetWorkingTicket(), Data = new CreateFreetextReceiptItemRequest() { Receipt = newReceipt } }); Assert.IsNotNull(emptyPosResult); Assert.AreEqual(StatusCode.Success, emptyPosResult.Status, emptyPosResult.Message); Assert.IsTrue(emptyPosResult.Result.Count > 0); newReceipt.Items.Add((ReceiptSupplierOrderItemDTO)emptyPosResult.Result.First()); var saveResult = centronService.SaveReceipt(new Request<SaveReceiptRequest>() { Ticket = GetWorkingTicket(), Data = new SaveReceiptRequest() { Receipt = newReceipt, AutoLockIfNewReceipt = false, SaveData = new SaveReceiptData() { IgnoreCallbacks = true } } }); Assert.IsNotNull(saveResult); Assert.AreEqual(StatusCode.Success, saveResult.Status, saveResult.Message);}