Azka 4.0.0-alpha.16

This is a prerelease version of Azka.
dotnet add package Azka --version 4.0.0-alpha.16
NuGet\Install-Package Azka -Version 4.0.0-alpha.16
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Azka" Version="4.0.0-alpha.16" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Azka --version 4.0.0-alpha.16
#r "nuget: Azka, 4.0.0-alpha.16"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Azka as a Cake Addin
#addin nuget:?package=Azka&version=4.0.0-alpha.16&prerelease

// Install Azka as a Cake Tool
#tool nuget:?package=Azka&version=4.0.0-alpha.16&prerelease

Azka

Overview

Dotnet Core 6

Flow Create Document

Example Purchase Order and Purchase Order Detail

  • Create Draft Purchase Order

    CreateDraftPurchaseOrderHandler({id: 0})
    

    This will create new document po with value:

    {
      "Id": 1,
      "DocumentStatus": "DRAFT"
    }
    
  • Path Property PO Number

      PatchPurchaseOrderHandler(
          {
              id: 1, 
              {
                  PropertyName: "PoNumber",
                  Value: "PO0001"
              }
          });
    

    This will Patch document po with value:

    {
      "Id": 1,
      "PoNumber": "PO0001",
      "DocumentStatus": "DRAFT"
    }
    
  • Add New PO Detail

    AddPurchaseOrderDetailHandler({PurchaseOrderId: 1})
    

    This will create new document po detail with:

    {
      "Id": 1, 
      "PurchaseOrderId": 1, 
      "DocumentStatus": "DRAFT"
    }
    

    Data PO will updated to:

    {
      "Id": 1,
      "PONumber": "PO0001",
      "DocumentStatus": "DRAFT",
      "PODetails": [
        {
          "Id": 1,
          "PurchaseOrderId": 1,
          "DocumentStatus": "DRAFT"
        }
      ]
    }
    
  • Update PO Detail Set Item

    PatchPurchaseOrderDetailHandler(
      {
          id: 1,
          {
              PropertyName: "ItemId",
              Value: "1"
          }
      });
    

    This will update data po with value: Data PO will updated to:

    {
      "Id": 1,
      "PONumber": "PO0001",
      "DocumentStatus": "DRAFT",
      "PODetails": [
        {
          "Id": 1,
          "PurchaseOrderId": 1,
          "DocumentStatus": "DRAFT",
          "ItemId": 1
        }
      ]
    }
    
  • Save PO Document

    CommitPurchaseOrder({id: 1})
    

    This will update data PO with value:

    {
      "Id": 1,
      "PONumber": "PO0001",
      "DocumentStatus": "SAVED",
      "PODetails": [
        {
          "Id": 1,
          "PurchaseOrderId": 1,
          "DocumentStatus": "SAVED",
          "ItemId": 1
        }
      ]
    }
    

Flow Edit Document

Example Purchase Order and Purchase Order Detail

  • Create Draft Purchase Order

    CreateDraftPurchaseOrderHandler({id: 1})
    

    Expected Data

    {
      "Id": 2,
      "OriginalDocumentId": 1,
      "PONumber": "PO0001",
      "DocumentStatus": "DRAFT",
      "PODetails": [
        {
          "Id": 2,
          "OriginalDocumentId": 1,
          "PurchaseOrderId": 2,
          "DocumentStatus": "DRAFT",
          "ItemId": 1
        }
      ]
    }
    
  • Path Property PO Number

      PatchPurchaseOrderHandler(
          {
              id: 2, 
              {
                  PropertyName: "PoNumber",
                  Value: "PO0002"
              }
          });
    

    Expected Data

    {
      "Id": 2,
      "OriginalDocumentId": 1,
      "PONumber": "PO0002",
      "DocumentStatus": "DRAFT",
      "PODetails": [
        {
          "Id": 2,
          "OriginalDocumentId": 1,
          "PurchaseOrderId": 2,
          "DocumentStatus": "DRAFT",
          "ItemId": 1
        }
      ]
    }
    
  • Add New PO Detail

    AddPurchaseOrderDetailHandler({PurchaseOrderId: 2})
    

    Expected Data:

    {
      "Id": 2,
      "OriginalDocumentId": 1,
      "PONumber": "PO0002",
      "DocumentStatus": "DRAFT",
      "PODetails": [
        {
          "Id": 2,
          "OriginalDocumentId": 1,
          "PurchaseOrderId": 2,
          "DocumentStatus": "DRAFT",
          "ItemId": 1
        },
        {
          "Id": 3,
          "OriginalDocumentId": null,
          "PurchaseOrderId": 2,
          "DocumentStatus": "DRAFT"
        }
      ]
    }
    
  • Update PO Detail Id 2

    PatchPurchaseOrderDetailHandler(
      {
          id: 2,
          {
              PropertyName: "ItemId",
              Value: "2"
          }
      });
    

    Expected Data:

    {
      "Id": 2,
      "OriginalDocumentId": 1,
      "PONumber": "PO0002",
      "DocumentStatus": "DRAFT",
      "PODetails": [
        {
          "Id": 2,
          "OriginalDocumentId": 1,
          "PurchaseOrderId": 2,
          "DocumentStatus": "DRAFT",
          "ItemId": 2
        },
        {
          "Id": 3,
          "OriginalDocumentId": null,
          "PurchaseOrderId": 2,
          "DocumentStatus": "DRAFT"
        }
      ]
    }
    
  • Update PO Detail Id 3

  PatchPurchaseOrderDetailHandler(
    {
        id: 3,
        {
            PropertyName: "ItemId",
            Value: "1"
        }
    });

Expected Data:

{
  "Id": 2,
  "OriginalDocumentId": 1,
  "PONumber": "PO0002",
  "DocumentStatus": "DRAFT",
  "PODetails": [
    {
      "Id": 2,
      "OriginalDocumentId": 1,
      "PurchaseOrderId": 2,
      "DocumentStatus": "DRAFT",
      "ItemId": 2
    },
    {
      "Id": 3,
      "OriginalDocumentId": null,
      "PurchaseOrderId": 2,
      "DocumentStatus": "DRAFT",
      "ItemId": 1
    }
  ]
}
  • Save PO Document

    CommitPurchaseOrder({id: 2})
    

    Process Commit Data When Commit Edit Document:

    • Clone Original Data To History
    • Commit Draft To Original Document

    Expected:

    {
      "Id": 2,
      "OriginalDocumentId": 1,
      "PONumber": "PO0002",
      "DocumentStatus": "COMMITED",
      "PODetails": [
        {
          "Id": 2,
          "OriginalDocumentId": 1,
          "PurchaseOrderId": 2,
          "DocumentStatus": "COMMITED",
          "ItemId": 2
        },
        {
          "Id": 3,
          "OriginalDocumentId": null,
          "PurchaseOrderId": 2,
          "DocumentStatus": "COMMITED",
          "ItemId": 1
        }
      ]
    }
    

    Expected All Data:

    [
      {
        "Id": 1,
        "OriginalDocumentId": null,
        "SourceDocumentId": 3, // FETCH FROM HISTORY DATA ID
        "PONumber": "PO0002",
        "DocumentStatus": "SAVED",
        "PODetails": [
          {
            "Id": 1,
            "OriginalDocumentId": null,
            "SourceDocumentId": 4, // FETCH FROM HISTORY DATA ID
            "PurchaseOrderId": 1, 
            "DocumentStatus": "SAVED",
            "ItemId": 2
          },
          {
            "Id": 5,
            "OriginalDocumentId": null,
            "SourceDocumentId": null,
            "PurchaseOrderId": 1,
            "DocumentStatus": "SAVED",
            "ItemId": 1
          }
        ]
      },
      {
        "Id": 2,
        "OriginalDocumentId": 1,
        "PONumber": "PO0002",
        "DocumentStatus": "COMMITED",
        "PODetails": [
          {
            "Id": 2,
            "OriginalDocumentId": 1,
            "PurchaseOrderId": 2,
            "DocumentStatus": "COMMITED",
            "ItemId": 2
          },
          {
            "Id": 3,
            "OriginalDocumentId": null,
            "PurchaseOrderId": 2,
            "DocumentStatus": "COMMITED",
            "ItemId": 1
          }
        ]
      },
      {
        "Id": 3,
        "PONumber": "PO0001",
        "OriginalDocumentId": 1, // ORIGINAL GET ORIGINAL ID FOR TRACKING CHANGES
        "SourceDocumentId": null, // SOURCE NULL FOR HISTORY
        "DocumentStatus": "HISTORY",
        "PODetails": [
          {
            "Id": 4,
            "PurchaseOrderId": 1,
            "OriginalDocumentId": 1, // ORIGINAL GET ORIGINAL ID FOR TRACKING CHANGES
            "SourceDocumentId": null, // SOURCE NULL FOR HISTORY
            "DocumentStatus": "HISTORY",
            "ItemId": 1
          }
        ]
      }
    ]
    
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.0-alpha.16 58 5/6/2024
4.0.0-alpha.15 73 2/8/2024
4.0.0-alpha.14 99 1/1/2024
4.0.0-alpha.13 102 12/16/2023
4.0.0-alpha.12 67 12/16/2023
4.0.0-alpha.11 66 12/16/2023
4.0.0-alpha.10 69 12/15/2023
4.0.0-alpha.9 100 11/12/2023
4.0.0-alpha.8 58 11/10/2023
4.0.0-alpha.7 83 4/28/2023
4.0.0-alpha.6 81 4/28/2023
4.0.0-alpha.5 82 4/26/2023
4.0.0-alpha.4 74 4/24/2023
4.0.0-alpha.3 78 4/24/2023
4.0.0-alpha.2 87 4/20/2023
4.0.0-alpha.1 84 4/20/2023
3.0.0-alpha.6 186 12/29/2022
3.0.0-alpha.5 96 12/5/2022
3.0.0-alpha.4 108 10/15/2022
3.0.0-alpha.2 108 10/15/2022
3.0.0-alpha.1 115 10/15/2022
2.0.1-alpha1 174 6/8/2022
2.0.1-alpha.6 108 10/14/2022
2.0.1-alpha.5 108 10/2/2022
2.0.1-alpha.4 124 9/19/2022
2.0.1-alpha.3 108 9/10/2022
2.0.1-alpha.2 131 7/14/2022
2.0.1-alpha.1 133 6/11/2022
2.0.0 513 5/21/2022
0.0.1-alpha.4 131 5/9/2022
0.0.1-alpha.3 125 2/6/2022
0.0.1-alpha.2 144 2/5/2022
0.0.1-alpha.1 144 1/22/2022