using System.Linq; using Centron.BusinessLogic; using Centron.BusinessLogic.Sales.Receipts.DataAndResults; using Centron.BusinessLogic.WebServices.Sales.Receipts; using Centron.BusinessLogic.WebServices.Sales.Receipts.DataAndResults; using Centron.Data.WebServices.Sales.Receipts; using Centron.Interfaces; using Centron.Interfaces.Administration.Environment; using Centron.Interfaces.BL; using Centron.Tests.EndToEnd.Infrastructure; using CentronSoftware.Centron.WebServices.Entities.Sales.Receipts.SupplierOrders; using Xunit; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.SupplierReceipts; public class SupplierOrderSecondaryStockPurchaseTest : EndToEndTest { public SupplierOrderSecondaryStockPurchaseTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { Result receiptCreatedResult; using (var session = new BLSession()) { receiptCreatedResult = session.GetBL().CreateNewReceipt( CentronObjectKindNumeric.SupplierOrder, base.GetLoggedInUser(), 70012, new CreateReceiptData() { IgnoreCallbacks = true }, null, null, false, true, false); Assert.True(receiptCreatedResult.Status == ResultStatus.Success, receiptCreatedResult.Message); } var newReceipt = (ReceiptSupplierOrderDTO)receiptCreatedResult.Data.Receipt; Result newArticleResult; using (var session = new BLSession()) { newArticleResult = session.GetBL().CreateArticleReceiptItems(newReceipt, false, 1259, null, null, 7, base.GetLoggedInUser()); Assert.True(newArticleResult.Status == ResultStatus.Success, newArticleResult.Message); } var receiptItem = newArticleResult.Data.ReceiptItems.First(); var supplierOrderItem = (ReceiptSupplierOrderItemDTO)receiptItem; supplierOrderItem.QuantityComplete = 10; newReceipt.Items.Add(supplierOrderItem); Result savedReceiptResult; using (var session = new BLSession()) { savedReceiptResult = session.GetBL().SaveReceipt(newReceipt, base.GetLoggedInUser().User, new SaveReceiptData() { IgnoreCallbacks = true }, false, CreatedThroughApplication.CentronNet, null); Assert.True(savedReceiptResult.Status == ResultStatus.Success, savedReceiptResult.Message); } Verifier.VerifySql("SupplierOrderSecondaryStockPurchaseTest_ArticleStock_AfterSupplierOrderCreated", "SELECT I3D, MandantI3D, NebenlagerI3D, ArtikelI3D, Bestand, Zulauf, AngelegtVon, EK, EigenerEK FROM NebenlagerArtikel WHERE ArtikelI3D = 1259"); new SupplierReceiptTestsSharedCode(Verifier).Verify_Intake_Table("SupplierOrderSecondaryStockPurchaseTest", "AfterSupplierOrderCreated", savedReceiptResult.Data.Receipt.I3D); } }