public ComprobantesDTO(Comprobantes comprobante) { CAE = comprobante.CAE; razonSocial = comprobante.Empresa.RazonSocial; direccion = comprobante.Empresa.Direccion; codigoPostal = comprobante.Empresa.CodigoPostal; telefono = comprobante.Empresa.Telefono; email = comprobante.Empresa.Email; sitioWeb = comprobante.Empresa.SitioWeb; iibb = comprobante.Empresa.IIBB; nroIIBB = comprobante.Empresa.NroIIBB; telefono = comprobante.Empresa.Telefono; cuitEmpresa = comprobante.Empresa.Cuit; tipoContEmpresa = comprobante.Empresa.TipoContribuyente.Descripcion; cliente = comprobante.NombreCliente; cuitCliente = comprobante.CUITCliente; tipoCliente = comprobante.TipoCliente.Descripcion; tipoPago = comprobante.TipoPago.Descripcion; emision = comprobante.Emision.ToString("dd/MM/yyyy"); tipo = comprobante.Tipo.Nombre; tipoCodigo = comprobante.Tipo.Codigo; nrocbante = comprobante.NroCbante; observaciones = comprobante.Observaciones; percepciones = comprobante.Percepciones; descuento = comprobante.Descuento; subtotalneto = comprobante.SubtotalNeto; subtotalaimp = comprobante.SubtotalAImp; iva1 = comprobante.Iva1; iva2 = comprobante.Iva2; subtotalaimpForm = comprobante.SubtotalForm; iva1Form = comprobante.Iva1Form; iva2Form = comprobante.Iva2Form; subtotal = comprobante.Subtotal; total = comprobante.Total; estado = comprobante.Estado; logo = comprobante.Empresa.LogoEmpresa; inicioAct = comprobante.Empresa.Inicio.ToString("dd/MM/yyyy"); if (comprobante.Cliente != null) { domicilioCliente = comprobante.Cliente.Domicilio; localidadCliente = comprobante.Cliente.Localidad; if (comprobante.Cliente.Provincia != null) { provinciaCliente = comprobante.Cliente.Provincia.ToString(); } if (comprobante.Cliente.Pais != null) { paisCliente = comprobante.Cliente.Pais.ToString(); } telefonosCliente = comprobante.Cliente.Telefonos; enDolares = comprobante.EnDolares; valorDolar = GeneralSettings.Instance.CotizacionUS; } }
public void CalcularTotales(Comprobantes comp) { // Se inicializan las variables de totales comp.SubtotalNeto = 0; comp.SubtotalAImp = 0; comp.Iva1 = 0; comp.Iva2 = 0; comp.Subtotal = comp.SubtotalForm = 0; comp.Total = 0; foreach (DetallesComprobantes item in comp.Items) { comp.SubtotalNeto += item.ImpTotalNeto; comp.SubtotalAImp += item.ImpTotal; if (comp.Cliente != null) { if (comp.Cliente.TipoContribuyente.ComputaIVA) { if (item.TipoIva != null) { if (item.TipoIva.Id == comp.Empresa.Iva1.Id) { comp.Iva1 += item.ImpTotalNeto * item.TipoIva.Alicuota / 100; } else { comp.Iva2 += item.ImpTotalNeto * item.TipoIva.Alicuota / 100; } if (comp.Cliente.TipoContribuyente.ComputaIVA && !comp.Cliente.TipoContribuyente.DiscriminaIVA) { comp.subtotalForm += item.ImpTotalNeto + (item.ImpTotalNeto * item.TipoIva.Alicuota / 100); } else { // No discriminaIVA comp.subtotalForm = comp.SubtotalAImp; } } } else { // No computaIVA comp.subtotalForm = comp.SubtotalAImp; } } } comp.SubtotalNeto = comp.SubtotalNeto * (1 - comp.Descuento / 100); comp.SubtotalAImp = comp.SubtotalAImp * (1 - comp.Descuento / 100); comp.Iva1 = comp.Iva1 * (1 - comp.Descuento / 100); comp.Iva2 = comp.Iva2 * (1 - comp.Descuento / 100); if (comp.Cliente != null && !comp.Cliente.TipoContribuyente.DiscriminaIVA) { comp.iva1Form = 0; comp.iva2Form = 0; } else { comp.iva1Form = comp.Iva1; comp.iva2Form = comp.Iva2; } { } if (comp.Cliente != null) { if ((comp.SubtotalNeto > comp.Empresa.MontoMinimoPerc) && (comp.Cliente.TipoContribuyente.Percepciones) && (!comp.Cliente.IibbExento)) { comp.Percepciones = comp.SubtotalNeto * comp.Empresa.PorcentajePerc / 100; } else { comp.Percepciones = 0; } comp.cuitCliente = Cliente.CUIT; comp.nombreCliente = Cliente.Nombre; comp.tipoCliente = Cliente.TipoContribuyente; } else { comp.Percepciones = 0; } comp.Subtotal = comp.SubtotalAImp + comp.Iva1 + comp.Iva2 + comp.Percepciones; comp.Total = comp.Subtotal; }