Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
        }