Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added src/Avalara-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
393 changes: 169 additions & 224 deletions src/AvalaraAddressValidatorProvider.cs

Large diffs are not rendered by default.

896 changes: 239 additions & 657 deletions src/AvalaraTaxProvider.cs

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions src/CustomerCodeSource.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider;

internal enum CustomerCodeSource
{
OrderCustomerAccessUserId,
OrderCustomerNumber,
AccessUserExternalId
}
21 changes: 13 additions & 8 deletions src/Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<VersionPrefix>10.0.0</VersionPrefix>
<VersionSuffix>Alpha0001</VersionSuffix>
<VersionPrefix>10.15.0</VersionPrefix>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<Title>Avalara</Title>
<Description>Avalara tax provider</Description>
Expand All @@ -15,18 +14,24 @@
<Copyright>Copyright © 2020 Dynamicweb Software A/S</Copyright>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IncludeSymbols>true</IncludeSymbols>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<ContinuousIntegrationBuild >true</ContinuousIntegrationBuild>
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageIcon>Avalara-logo.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Avalara.AvaTax" Version="21.8.0" />
<PackageReference Include="Dynamicweb" Version="10.0.0-*" />
<PackageReference Include="Dynamicweb.Ecommerce" Version="10.0.0-*" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
<PackageReference Include="Dynamicweb" Version="10.15.1" />
<PackageReference Include="Dynamicweb.Ecommerce" Version="10.15.1" />
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<None Update="Avalara-logo.png">
<Pack>True</Pack>
<PackagePath>\</PackagePath>
</None>
</ItemGroup>
</Project>
19 changes: 0 additions & 19 deletions src/Model/Address.cs

This file was deleted.

63 changes: 0 additions & 63 deletions src/Model/CancelTransactionResponse.cs

This file was deleted.

37 changes: 37 additions & 0 deletions src/Model/CreateTransactionRequest/AddressLocationInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
using System.Runtime.Serialization;

namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.CreateTransactionRequest;

[DataContract]
internal sealed class AddressLocationInfo
{
[DataMember(Name = "locationCode", EmitDefaultValue = false)]
public string LocationCode { get; set; }

[DataMember(Name = "line1", EmitDefaultValue = false)]
public string Line1 { get; set; }

[DataMember(Name = "line2", EmitDefaultValue = false)]
public string Line2 { get; set; }

[DataMember(Name = "line3", EmitDefaultValue = false)]
public string Line3 { get; set; }

[DataMember(Name = "city", EmitDefaultValue = false)]
public string City { get; set; }

[DataMember(Name = "region", EmitDefaultValue = false)]
public string Region { get; set; }

[DataMember(Name = "country", EmitDefaultValue = false)]
public string Country { get; set; }

[DataMember(Name = "postalCode", EmitDefaultValue = false)]
public string PostalCode { get; set; }

[DataMember(Name = "latitude", EmitDefaultValue = false)]
public double? Latitude { get; set; }

[DataMember(Name = "longitude", EmitDefaultValue = false)]
public double? Longitude { get; set; }
}
13 changes: 13 additions & 0 deletions src/Model/CreateTransactionRequest/Addresses.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using System.Runtime.Serialization;

namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.CreateTransactionRequest;

[DataContract]
internal sealed class Addresses
{
[DataMember(Name = "shipFrom", EmitDefaultValue = false)]
public AddressLocationInfo ShipFrom { get; set; }

[DataMember(Name = "shipTo", EmitDefaultValue = false)]
public AddressLocationInfo ShipTo { get; set; }
}
49 changes: 49 additions & 0 deletions src/Model/CreateTransactionRequest/CreateTransactionRequest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.Enums;
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.CreateTransactionRequest;

[DataContract]
internal sealed class CreateTransactionRequest
{
[DataMember(Name = "lines", IsRequired = true)]
public List<LineItem> Lines { get; set; } = [];

[DataMember(Name = "type", EmitDefaultValue = false)]
public string Type { get; set; }

[DataMember(Name = "companyCode", EmitDefaultValue = false)]
public string CompanyCode { get; set; }

[DataMember(Name = "date", IsRequired = true)]
public DateTime Date { get; set; }

[DataMember(Name = "customerCode", IsRequired = true)]
public string CustomerCode { get; set; }

[DataMember(Name = "customerUsageType", EmitDefaultValue = false)]
public string CustomerUsageType { get; set; }

[DataMember(Name = "discount", EmitDefaultValue = false)]
public double? Discount { get; set; }

[DataMember(Name = "exemptionNo", EmitDefaultValue = false)]
public string ExemptionNumber { get; set; }

[DataMember(Name = "addresses", EmitDefaultValue = false)]
public Addresses Addresses { get; set; }

[DataMember(Name = "referenceCode", EmitDefaultValue = false)]
public string ReferenceCode { get; set; }

[DataMember(Name = "commit", EmitDefaultValue = false)]
public bool? Commit { get; set; }

[DataMember(Name = "taxOverride", EmitDefaultValue = false)]
public TaxOverride TaxOverride { get; set; }

[DataMember(Name = "currencyCode", EmitDefaultValue = false)]
public string CurrencyCode { get; set; }
}
31 changes: 31 additions & 0 deletions src/Model/CreateTransactionRequest/LineItem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using System.Runtime.Serialization;

namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.CreateTransactionRequest;

[DataContract]
internal sealed class LineItem
{
[DataMember(Name = "number", EmitDefaultValue = false)]
public string Number { get; set; }

[DataMember(Name = "quantity", EmitDefaultValue = false)]
public double? Quantity { get; set; }

[DataMember(Name = "amount", IsRequired = true)]
public double Amount { get; set; }

[DataMember(Name = "addresses", EmitDefaultValue = false)]
public Addresses Addresses { get; set; }

[DataMember(Name = "taxCode", EmitDefaultValue = false)]
public string TaxCode { get; set; }

[DataMember(Name = "itemCode", EmitDefaultValue = false)]
public string ItemCode { get; set; }

[DataMember(Name = "discounted", EmitDefaultValue = false)]
public bool? Discounted { get; set; }

[DataMember(Name = "description", EmitDefaultValue = false)]
public string Description { get; set; }
}
20 changes: 20 additions & 0 deletions src/Model/CreateTransactionRequest/TaxOverride.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System;
using System.Runtime.Serialization;

namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.CreateTransactionRequest;

[DataContract]
internal sealed class TaxOverride
{
[DataMember(Name = "type", EmitDefaultValue = false)]
public string Type { get; set; }

[DataMember(Name = "taxAmount", EmitDefaultValue = false)]
public double? TaxAmount { get; set; }

[DataMember(Name = "taxDate", EmitDefaultValue = false)]
public DateTime TaxDate { get; set; }

[DataMember(Name = "reason", EmitDefaultValue = false)]
public string Reason { get; set; }
}
22 changes: 22 additions & 0 deletions src/Model/CreateTransactionResponse/AvaTaxMessage.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
using System.Runtime.Serialization;

namespace Dynamicweb.Ecommerce.TaxProviders.AvalaraTaxProvider.Model.CreateTransactionResponse;

[DataContract]
internal sealed class AvaTaxMessage
{
[DataMember(Name = "summary")]
public string Summary { get; set; }

[DataMember(Name = "details")]
public string Details { get; set; }

[DataMember(Name = "refersTo")]
public string RefersTo { get; set; }

[DataMember(Name = "severity")]
public string Severity { get; set; }

[DataMember(Name = "source")]
public string Source { get; set; }
}
Loading