From 767b14432f175c247f3030d9cde2b273bb8a2ccb Mon Sep 17 00:00:00 2001 From: Rafael Date: Mon, 30 Mar 2026 16:55:58 -0300 Subject: [PATCH] =?UTF-8?q?-Nova=20op=C3=A7=C3=A3o=20PadronizarNomes=20(fa?= =?UTF-8?q?lse=20por=20padr=C3=A3o),=20que=20define=20se=20os=20nomes=20do?= =?UTF-8?q?s=20arquivos=20devem=20ser=20padronizados=20e=20consistentes.?= =?UTF-8?q?=20Quando=20desabilitada,=20o=20padr=C3=A3o=20atual=20=C3=A9=20?= =?UTF-8?q?mantido,=20com=20a=20corre=C3=A7=C3=A3o=20de=20que=20os=20n?= =?UTF-8?q?=C3=BAmeros=20agora=20s=C3=A3o=20gerados=20com=20zeros=20=C3=A0?= =?UTF-8?q?=20esquerda=20conforme=20esperado=20(o=20c=C3=B3digo=20anterior?= =?UTF-8?q?=20n=C3=A3o=20aplicava=20corretamente=20essa=20formata=C3=A7?= =?UTF-8?q?=C3=A3o).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../Common/DFeArquivosConfigBase.cs | 8 ++++++++ .../Extensions/DFeExtensions.cs | 16 +++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d2ef159..c413302 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ *.user *.userosscache *.sln.docstates +.vshistory/ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs diff --git a/src/OpenAC.Net.DFe.Core/Common/DFeArquivosConfigBase.cs b/src/OpenAC.Net.DFe.Core/Common/DFeArquivosConfigBase.cs index 977cadf..79fb64c 100644 --- a/src/OpenAC.Net.DFe.Core/Common/DFeArquivosConfigBase.cs +++ b/src/OpenAC.Net.DFe.Core/Common/DFeArquivosConfigBase.cs @@ -119,6 +119,14 @@ public string ArquivoServicos /// public bool Salvar { get; set; } + /// + /// Define se os nomes dos arquivos devem ser padronizados, + /// utilizando a chave da NFSe, Id do DPS ou NSU, conforme o tipo de operação. + /// Quando false, utiliza o comportamento padrão da biblioteca, + /// cujo formato pode variar e não segue um padrão fixo. + /// + public bool PadronizarNomes { get; set; } + /// /// Define/retorna se deve ser adicionado um literal ao caminho de salvamento. /// diff --git a/src/OpenAC.Net.DFe.Core/Extensions/DFeExtensions.cs b/src/OpenAC.Net.DFe.Core/Extensions/DFeExtensions.cs index ebcc185..5c0843b 100644 --- a/src/OpenAC.Net.DFe.Core/Extensions/DFeExtensions.cs +++ b/src/OpenAC.Net.DFe.Core/Extensions/DFeExtensions.cs @@ -39,7 +39,7 @@ namespace OpenAC.Net.DFe.Core.Extensions; -internal static class DFeExtensions +public static class DFeExtensions { public static DFeBaseAttribute GetElementAtt(this PropertyInfo prop) { @@ -154,4 +154,18 @@ public static bool IsValidXml(this string xmlstring) return false; } } + + /// + /// Formata uma string numérica com zeros à esquerda. + /// + /// String numérica + public static string FillZeros(this string? value, int tamanho = 6, string fallback = "000000") + { + if (string.IsNullOrWhiteSpace(value)) + return fallback; + + return int.TryParse(value, out var numero) + ? numero.ToString(new string('0', tamanho)) + : fallback; + } } \ No newline at end of file