forked from ZeusAutomacao/DFe.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNfeSituacao.cs
49 lines (41 loc) · 2.12 KB
/
NfeSituacao.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
namespace NFe.Utils
{
public static class NfeSituacao
{
public static bool Autorizada(int cStat)
{
return cStat == 100 /*Autorizado o uso da NF-e*/
|| cStat == 150 /*Autorizado o uso da NF-e, autorização fora de prazo*/;
}
public static bool Cancelada(int cStat)
{
return cStat == 101 /*Cancelamento de NF-e homologado*/
|| cStat == 151 /*Cancelamento de NF-e homologado fora de prazo*/
|| cStat == 218 /*NF-e já está cancelada na base de dados da SEFAZ [nRec:999999999999999]*/
|| cStat == 420 /*Rejeição: Cancelamento para NF-e já cancelada*/;
}
public static bool Denegada(int cStat)
{
return cStat == 110 /*Uso Denegado*/
|| cStat == 301 /*Uso Denegado: Irregularidade fiscal do emitente*/
|| cStat == 302 /*Uso Denegado: Irregularidade fiscal do destinatário*/
|| cStat == 303 /*Uso Denegado: Destinatário não habilitado a operar na UF*/;
}
public static bool Inutilizada(int cStat)
{
return InutilizacaoHomologada(cStat)
|| cStat == 206 /*Rejeição: NF-e já está inutilizada na Base de dados da SEFAZ*/
|| cStat == 256 /*Número da faixa já inutilizado*/
|| cStat == 563 /*Rejeição: Já existe pedido de Inutilização com a mesma faixa de inutilização*/;
}
public static bool Rejeitada(int cStat)
{
//if ((protNfeRetorno.infProt.cStat >= 201) & (protNfeRetorno.infProt.cStat <= 299) | (protNfeRetorno.infProt.cStat >= 401)) //Rejeitada (Antigo tratamento de rejeição)
return cStat >= 201 & !Autorizada(cStat) & !Cancelada(cStat) & !Denegada(cStat) & !Inutilizada(cStat);
}
public static bool LoteRecebido(int cStat) => cStat == 103;
public static bool LoteProcessado(int cStat) => cStat == 104;
public static bool EventoVinculado(int cStat) => cStat == 135;
public static bool InutilizacaoHomologada(int cStat) => cStat == 102;
}
}