update many things i dont remember whats things but reading all files i concluse this comit have many changes
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ADSNetLibrary.PacsTimbrado.SAT
|
||||
{
|
||||
|
||||
[Serializable]
|
||||
public class CFDITimbre
|
||||
{
|
||||
private StringBuilder StrMsg;
|
||||
public CFDIComprobante Comprobante { get; set; }
|
||||
public CFDIRelacionados CFDIRelacionados { get; set; }
|
||||
public CFDIEmisor Emisor { get; set; }
|
||||
public CFDIReceptor Receptor { get; set; }
|
||||
public List<CFDIConceptos> Conceptos { get; set; }
|
||||
public List<CFDIRetencionesLocales> RetencionesLocales { get; set; }
|
||||
public List<CFDITrasladosLocales> TrasladosLocales { get; set; }
|
||||
public CFDINomina Nomina { get; set; }
|
||||
public CFDIComplementoPagos ComplementoPagos { get; set; }
|
||||
public CFDIComplementos Complementos { get; set; }
|
||||
public decimal TotalImpuestosRetenidos
|
||||
{
|
||||
get
|
||||
{
|
||||
return (from c in Conceptos
|
||||
select c.Impuestos.Where(ret => ret.TrasladooRetencion == "R").Sum(ret => ret.Importe)).Sum();
|
||||
}
|
||||
}
|
||||
|
||||
public decimal TotalImpuestosTrasladados
|
||||
{
|
||||
get
|
||||
{
|
||||
return (from c in Conceptos
|
||||
select c.Impuestos.Where(tra => tra.TrasladooRetencion == "T").Sum(tra => tra.Importe)).Sum();
|
||||
}
|
||||
}
|
||||
|
||||
public List<CFDIRetenciones> Retenciones
|
||||
{
|
||||
get
|
||||
{
|
||||
List<CFDIRetenciones> tRetorno = new List<CFDIRetenciones>();
|
||||
List<CFDIRetenciones> TRetenciones = new List<CFDIRetenciones>();
|
||||
// Dim RetencionIVA As Decimal = 0
|
||||
// Dim RetencionIEPS As Decimal = 0
|
||||
// Dim RetencionISR As Decimal = 0
|
||||
foreach (CFDIConceptos c in Conceptos)
|
||||
{
|
||||
foreach (CFDIConceptosImpuestos imp in c.Impuestos)
|
||||
{
|
||||
if (imp.TrasladooRetencion == "R")
|
||||
tRetorno.Add(new CFDIRetenciones() { Impuesto = imp.Impuesto, Importe = imp.Importe });
|
||||
}
|
||||
}
|
||||
if (tRetorno.Count > 0)
|
||||
TRetenciones = tRetorno.GroupBy(t => new { t.Impuesto })
|
||||
.Select(t => new CFDIRetenciones() { Impuesto = t.Key.Impuesto, Importe = t.Sum(tt => tt.Importe) })
|
||||
.OrderBy(x => x.Impuesto).ToList();
|
||||
// If RetencionISR > 0 Then Retorno.Add(New CFDIRetenciones With {.Impuesto = "001", .Importe = RetencionISR})
|
||||
// if RetencionIVA > 0 Then Retorno.Add(New CFDIRetenciones With {.Impuesto = "002", .Importe = RetencionIVA})
|
||||
// If RetencionIEPS > 0 Then Retorno.Add(New CFDIRetenciones With {.Impuesto = "003", .Importe = RetencionIEPS})
|
||||
tRetorno = null;
|
||||
return TRetenciones;
|
||||
}
|
||||
}
|
||||
|
||||
public List<CFDITraslados> Traslados
|
||||
{
|
||||
get
|
||||
{
|
||||
List<CFDITraslados> tRetorno = new List<CFDITraslados>();
|
||||
List<CFDITraslados> TTraslados = new List<CFDITraslados>();
|
||||
foreach (CFDIConceptos c in Conceptos)
|
||||
{
|
||||
foreach (CFDIConceptosImpuestos imp in c.Impuestos)
|
||||
{
|
||||
if (imp.TrasladooRetencion == "T")
|
||||
tRetorno.Add(new CFDITraslados() { Impuesto = imp.Impuesto, Importe = imp.Importe, TasaOCuota = imp.TasaOCuota, TipoFactor = imp.TipoFactor });
|
||||
}
|
||||
}
|
||||
// ya generado todos los registros posibles, los agrupo y los sumo
|
||||
if (tRetorno.Count > 0)
|
||||
TTraslados = tRetorno.GroupBy(t => new { t.TipoFactor, t.Impuesto, t.TasaOCuota })
|
||||
.Select(t => new CFDITraslados() { Impuesto = t.Key.Impuesto, TipoFactor = t.Key.TipoFactor, TasaOCuota = t.Key.TasaOCuota, Importe = t.Sum(tt => tt.Importe) })
|
||||
.OrderBy(x => x.Impuesto).ToList();
|
||||
tRetorno = null;
|
||||
return TTraslados;
|
||||
}
|
||||
}
|
||||
public string Mensaje
|
||||
{
|
||||
get
|
||||
{
|
||||
return StrMsg.ToString();
|
||||
}
|
||||
}
|
||||
public CFDITimbre()
|
||||
{
|
||||
StrMsg = new StringBuilder();
|
||||
Comprobante = new CFDIComprobante();
|
||||
CFDIRelacionados = new CFDIRelacionados();
|
||||
Conceptos = new List<CFDIConceptos>();
|
||||
Emisor = new CFDIEmisor();
|
||||
Receptor = new CFDIReceptor();
|
||||
RetencionesLocales = new List<CFDIRetencionesLocales>();
|
||||
TrasladosLocales = new List<CFDITrasladosLocales>();
|
||||
ComplementoPagos = new CFDIComplementoPagos();
|
||||
Complementos = new CFDIComplementos();
|
||||
}
|
||||
|
||||
public void AddMsg(string Msg)
|
||||
{
|
||||
StrMsg.AppendLine(Msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user