private decimal CalcularMontoSegunCondicionIvaMayorista(decimal porcentajeFacturacion, CondicionIVA condicionIva, decimal monto) { //A los Excentos y Monotibutistas hay que agregarle el iva dado que los montos que manejan no tiene IVA switch (condicionIva) { case CondicionIVA.Responsable_Inscripto: return(monto * porcentajeFacturacion); case CondicionIVA.Monotributo: case CondicionIVA.Exento: decimal montoConIva = Monto.ObtenerConIVA(monto, this.Producto.SubCategoria.IVA.Valor, porcentajeFacturacion); return(montoConIva); default: throw new InvalidOperationException($"Error al realizar la facturación. Condición IVA no reconocido {condicionIva.ToString()}"); } }
public static decimal ObtenerMontoSegunTipoDeCliente(decimal monto, decimal iva, CondicionIVA condicionIVA) { switch (condicionIVA) { case CondicionIVA.Consumidor_Final: case CondicionIVA.Monotributo: case CondicionIVA.Exento: decimal montoSinIva = Monto.ObtenerSinIVA(monto, iva); return(montoSinIva); case CondicionIVA.Responsable_Inscripto: return(monto); default: throw new InvalidOperationException($"Error al realizar la facturación. Condición IVA no reconocido {condicionIVA.ToString()}"); } }
internal string ObtenerResponsableIvaComprador(CondicionIVA condicionesIVA) { switch (condicionesIVA) { case CondicionIVA.Consumidor_Final: return(CONSUMIDOR_FINAL); case CondicionIVA.Monotributo: return(MONOTRIBUTISTA); case CondicionIVA.Responsable_Inscripto: return(RESPONSABLE_INSCRIPTO); case CondicionIVA.Exento: return(EXENTO); default: throw new InvalidOperationException($"Error al realizar la facturación. No se pudo obtener la responsabilidad ante IVA, valor de IVA {condicionesIVA.ToString()}"); } }