use pricing_kit::{Currency, CurrencyConverter, PricingDetail, MarkupType, dec, ToPrimitive};
fn main() {
let usd = Currency::new("USD", "American Dollar");
let idr = Currency::new("IDR", "Indonesian Rupiah");
let mut converter = CurrencyConverter::new();
converter.add_exchange_rate(&usd, dec!(1.0));
converter.add_exchange_rate(&idr, dec!(16500.0));
let mut pricing = PricingDetail::new(dec!(100.0), usd.clone(), idr.clone());
pricing.markup = Some(MarkupType::Amount {
value: dec!(3500),
currency: idr.clone(),
});
pricing.apply_markup(&converter).expect("Failed to apply markup");
println!("Pricing after markup:\n{:#?}", pricing);
if let Some(total_f64) = pricing.sell_price.to_f64() {
println!("Total sell price as f64: {}", total_f64);
}
}