Esempio n. 1
0
 private static Result <PurchaseOrder> CreatePurchaseOrder(
     WineMsPurchaseOrderTransactionDocument salesOrderTransactionDocument) =>
 ExceptionWrapper
 .Wrap(
     () => Result.Ok(
         new PurchaseOrder {
     Supplier     = new Supplier(salesOrderTransactionDocument.SupplierAccountCode),
     DeliveryDate = salesOrderTransactionDocument.TransactionDate,
     DueDate      = salesOrderTransactionDocument.TransactionDate,
     OrderDate    = salesOrderTransactionDocument.TransactionDate,
     OrderNo      = salesOrderTransactionDocument.DocumentNumber,
     TaxMode      = TaxMode.Exclusive
 }));
Esempio n. 2
0
 public static Result <WineMsPurchaseOrderTransactionDocument> ProcessTransaction(
     WineMsPurchaseOrderTransactionDocument wineMsSalesOrderTransactionDocument) =>
 CreatePurchaseOrder(wineMsSalesOrderTransactionDocument)
 .OnSuccess(
     order => order.AddPurchaseOrderLines(wineMsSalesOrderTransactionDocument))
 .OnSuccess(
     order => ExceptionWrapper
     .Wrap(
         () =>
 {
     order.Save();
     wineMsSalesOrderTransactionDocument.IntegrationDocumentNumber = order.OrderNo;
     return(Result.Ok(wineMsSalesOrderTransactionDocument));
 }));