Ejemplo n.º 1
0
        internal string FormatearPrecio(decimal monto, int potencia = 4)
        {
            string SinComas, SinPuntos;
            double montoAux;

            montoAux  = (double)Monto.Redondeo(monto, potencia);
            montoAux  = (montoAux * (Math.Pow(10, potencia)));
            SinComas  = montoAux.ToString().Replace(",", "");
            SinPuntos = SinComas.ToString().Replace(".", "");
            return(SinPuntos);
        }
Ejemplo n.º 2
0
        internal decimal ObtenerMontoSegunTipoDeCliente(decimal monto, decimal iva)
        {
            switch (ResponsableIvaComprador)
            {
            case MONOTRIBUTISTA:
            case EXENTO:
            case CONSUMIDOR_FINAL:
                return(monto);

            case RESPONSABLE_INSCRIPTO:
                decimal montoConIva = Monto.ObtenerConIVA(monto, iva);
                return(Monto.Redondeo(montoConIva));

            default:
                throw new InvalidOperationException($"Error al realizar la facturación. Tipo de cliente no reconocido {TipoCliente.ToString()}");
            }
        }
Ejemplo n.º 3
0
        private static void AgregarAlicutaIva(List <AfipAlicuotaIvaRequest> alicuotaIva, Afip.Wsfev1.FECAEDetRequest request)
        {
            if (CONDICION_IVA == CondicionIVA.Monotributo)
            {
                request.ImpIVA = 0;
            }
            else
            {
                request.Iva = alicuotaIva.Select(x => new Afip.Wsfev1.AlicIva()
                {
                    Id      = x.Codigo,
                    BaseImp = (double)Monto.Redondeo(x.Monto),
                    Importe = (double)Monto.Redondeo(x.IvaMonto)
                }).ToArray();

                request.ImpIVA = request.Iva.Sum(x => x.Importe);
            }
        }
        public ObtenerNumeroNotaCretidoResponse ObtenerNumeroNotaCretido(ObtenerNumeroNotaCretidoRequest request)
        {
            decimal subTotal = 0;
            decimal iva      = 0;

            request.Productos.ForEach(x => {
                decimal montoSinIva = Monto.ObtenerMontoSegunTipoDeCliente(x.NetoTotal, x.IVA.Valor, request.CondicionIVA);
                subTotal           += montoSinIva;
                iva += montoSinIva * x.IVA.Valor;
            });

            return(new ObtenerNumeroNotaCretidoResponse()
            {
                SubTotal = Monto.Redondeo(subTotal),
                Iva = Monto.Redondeo(iva),
                Total = Monto.Redondeo(subTotal + iva),
                NumeroNotaCredito = request.NumerosNotaCredito
            });
        }
Ejemplo n.º 5
0
        private static Afip.Wsfev1.FECAEDetRequest ObtenerDetalle(AfipObtenerCAERequest CAErequest)
        {
            Afip.Wsfev1.FECAEDetRequest request = new Afip.Wsfev1.FECAEDetRequest();

            request.Concepto   = CONCEPTO;
            request.DocTipo    = ObtenerTipoDocumento(CAErequest.CondicionIVA);
            request.DocNro     = long.Parse(CAErequest.Cuit);
            request.CbteDesde  = ObtenerNumeroComprobante(CAErequest.CondicionIVA, CAErequest.TipoDocumentoFiscal, CAErequest.PasswordCertificado, CAErequest.RutaCertificado);
            request.CbtesAsoc  = ObtenerComprobanteAsociado(CAErequest.CondicionIVA, CAErequest.TipoDocumentoFiscal, CAErequest.PuntoVentaOrigen, CAErequest.NumeroFacturaOrigen);
            request.CbteHasta  = request.CbteDesde;
            request.CbteFch    = DateTime.Now.ToString("yyyyMMdd");
            request.MonId      = PESOS;
            request.MonCotiz   = PESOS_COTIZACION;
            request.ImpTotConc = 0;                                              //Importe total no grabado
            request.ImpNeto    = (double)Monto.Redondeo(CAErequest.ImporteNeto); //Importe total neto
            request.ImpOpEx    = 0;                                              //Importe total excento
            request.ImpTrib    = 0;                                              //Importe total tributo

            AgregarAlicutaIva(CAErequest.AlicuotasIva, request);

            request.ImpTotal = request.ImpTotConc + request.ImpNeto + request.ImpOpEx + request.ImpIVA + request.ImpTrib;

            return(request);
        }
Ejemplo n.º 6
0
 public MontoProducto(decimal valor, decimal iva)
 {
     Valor = Monto.Redondeo(valor);
     Iva   = Monto.Redondeo(iva);
 }