diff --git a/FatturaElettronica.csproj b/FatturaElettronica.csproj index f7bf3da..fc69e1e 100644 --- a/FatturaElettronica.csproj +++ b/FatturaElettronica.csproj @@ -30,6 +30,15 @@ + + ResXFileCodeGenerator + EsigibilitaIVA.Designer.cs + + + True + True + EsigibilitaIVA.resx + diff --git a/Resources/EsigibilitaIVA.Designer.cs b/Resources/EsigibilitaIVA.Designer.cs new file mode 100644 index 0000000..8629ef1 --- /dev/null +++ b/Resources/EsigibilitaIVA.Designer.cs @@ -0,0 +1,66 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace FatturaElettronica.Resources { + using System; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class EsigibilitaIVA { + + private static System.Resources.ResourceManager resourceMan; + + private static System.Globalization.CultureInfo resourceCulture; + + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal EsigibilitaIVA() { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Resources.ResourceManager ResourceManager { + get { + if (object.Equals(null, resourceMan)) { + System.Resources.ResourceManager temp = new System.Resources.ResourceManager("FatturaElettronica.Resources.EsigibilitaIVA", typeof(EsigibilitaIVA).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static string I { + get { + return ResourceManager.GetString("I", resourceCulture); + } + } + + internal static string D { + get { + return ResourceManager.GetString("D", resourceCulture); + } + } + + internal static string S { + get { + return ResourceManager.GetString("S", resourceCulture); + } + } + } +} diff --git a/Resources/EsigibilitaIVA.de.resx b/Resources/EsigibilitaIVA.de.resx new file mode 100644 index 0000000..f6c5d96 --- /dev/null +++ b/Resources/EsigibilitaIVA.de.resx @@ -0,0 +1,23 @@ + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MwSt. sofort zahlbar + + + MwSt. mit aufgeschobener Steuerschuld + + + Zahlungsaufteilung + + \ No newline at end of file diff --git a/Resources/EsigibilitaIVA.resx b/Resources/EsigibilitaIVA.resx new file mode 100644 index 0000000..a982cbd --- /dev/null +++ b/Resources/EsigibilitaIVA.resx @@ -0,0 +1,30 @@ + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IVA ad esigibilità immediata + + + IVA ad esigibilità differita + + + scissione dei pagamenti + + \ No newline at end of file diff --git a/Tabelle/EsigibilitaIVA.cs b/Tabelle/EsigibilitaIVA.cs index b1be50a..7a52981 100644 --- a/Tabelle/EsigibilitaIVA.cs +++ b/Tabelle/EsigibilitaIVA.cs @@ -6,10 +6,11 @@ public override Tabella[] List { get { - return new Tabella[] { - new EsigibilitaIVA { Codice = "I", Nome = "IVA ad esigibilità immediata" }, - new EsigibilitaIVA { Codice = "D", Nome = "IVA ad esigibilità differita" }, - new EsigibilitaIVA { Codice = "S", Nome = "scissione dei pagamenti" }, + return new Tabella[] + { + new EsigibilitaIVA { Codice = "I", Nome = Resources.EsigibilitaIVA.I }, + new EsigibilitaIVA { Codice = "D", Nome = Resources.EsigibilitaIVA.D }, + new EsigibilitaIVA { Codice = "S", Nome = Resources.EsigibilitaIVA.S }, }; } } diff --git a/Test/Tabelle/EsigibilitaIVATests.cs b/Test/Tabelle/EsigibilitaIVATests.cs new file mode 100644 index 0000000..9ce1e74 --- /dev/null +++ b/Test/Tabelle/EsigibilitaIVATests.cs @@ -0,0 +1,35 @@ +using System.Globalization; +using System.Linq; +using System.Threading; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace FatturaElettronica.Test.Tabelle; + +[TestClass] +public class EsigibilitaIVATests +{ + [TestMethod] + public void Test() + { + Thread.CurrentThread.CurrentUICulture = new CultureInfo("it"); + var esigibilitaIVA = new FatturaElettronica.Tabelle.EsigibilitaIVA(); + var list = esigibilitaIVA.List.OrderBy(e => e.Codice).ToList(); + + Assert.AreEqual(3, list.Count); + Assert.AreEqual(list[0].Codice, "D"); + Assert.AreEqual(list[1].Codice, "I"); + Assert.AreEqual(list[2].Codice, "S"); + + Assert.AreEqual(list[0].Nome, "IVA ad esigibilità differita"); + Assert.AreEqual(list[1].Nome, "IVA ad esigibilità immediata"); + Assert.AreEqual(list[2].Nome, "scissione dei pagamenti"); + + Thread.CurrentThread.CurrentUICulture = new CultureInfo("de"); + esigibilitaIVA = new FatturaElettronica.Tabelle.EsigibilitaIVA(); + list = esigibilitaIVA.List.OrderBy(e => e.Codice).ToList(); + + Assert.AreEqual(list[0].Nome, "MwSt. mit aufgeschobener Steuerschuld"); + Assert.AreEqual(list[1].Nome, "MwSt. sofort zahlbar"); + Assert.AreEqual(list[2].Nome, "Zahlungsaufteilung"); + } +} \ No newline at end of file