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); }
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()}"); } }
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 }); }
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); }
public MontoProducto(decimal valor, decimal iva) { Valor = Monto.Redondeo(valor); Iva = Monto.Redondeo(iva); }