precio.py
1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from .models import ComprobantePago
def calculadora(edicto, precio):
try:
descuento = edicto.tiene_descuento
sellos = edicto.cantidad_sellos
palabras = edicto.cantidad_palabras
copias = edicto.cantidad_copias
publicar = edicto.dias_publicar
precio_valores = {
'precio': precio.precio,
'precio_ejemplar': precio.precio_ejemplar,
'precio_dia': precio.precio_dia
}
result_palabra = (sellos + palabras) * precio_valores['precio']
result_ejemplar = (copias * precio_valores['precio_ejemplar']) + (publicar * precio_valores['precio_dia'])
subtotal = result_ejemplar + result_palabra
if descuento:
resultado = (50 * subtotal) / 100
monto_descuento = resultado
else:
resultado = subtotal
monto_descuento = 0
comprobante = ComprobantePago(monto_total=resultado,
monto_subtotal=subtotal,
monto_descuento=monto_descuento,
edicto=edicto)
comprobante.save()
return comprobante
except ValueError as values:
raise ValueError("Los valores proporcionados son incorrectos: " + str(values))