public decimal ObtenerBonificacion(int idPrecioLista, TipoCliente tipoCliente) { Precio precio = Precios.Where(x => x.IdLista == idPrecioLista + 1 && x.Habilitado).FirstOrDefault(); if (precio == null) { throw new NegocioException($" El producto {Nombre} no tiene una bonificacion para la lista de precio con id {idPrecioLista}"); } if (tipoCliente == TipoCliente.Minorista) { return(precio.Monto); } else { return(0); } }
public MontoProducto ObtenerMonto(int idPrecioLista, TipoCliente tipoCliente, decimal porcentajeFacturacion) { Precio precio = Precios.Where(x => x.IdLista == idPrecioLista && x.Habilitado).FirstOrDefault(); if (precio == null) { throw new NegocioException($" El producto {Nombre} no tiene un monto para la lista de precio con id {idPrecioLista}"); } if (tipoCliente == TipoCliente.Minorista) { return(new MontoProducto(precio.Monto, 0)); } else { return(new MontoProducto(precio.Monto, precio.Monto * SubCategoria.IVA.Valor * porcentajeFacturacion)); } }