// get the sale price info private void btnSell_Click(object sender, EventArgs e) { int DM = 0; int.TryParse(edDM.Text, out DM); Traveller.Trade trade = new Traveller.Trade(ship, world); cargo = trade.sell(cargo, world, DM); lblSellAt.Text = String.Format("{0} [actual value: {1}%]", cargo.sellingPrice.ToString(), cargo.avSell* 100.00); }
/// <summary> /// selling a cargo lot /// </summary> /// <param name="cargo">cargo structure - item we are selling</param> /// <param name="ship">Traveller starship - ship it is being sold from</param> /// <param name="world">Traveller world - world it is being sold on</param> public Selling(Traveller.Starship.cargoDesc cargo, Traveller.Starship ship, Traveller.World world) { InitializeComponent(); lblCurrent.Text = world.SEC; lblSelling.Text = String.Format("{0} {1} dTons; Cr{2}", cargo.origCode, cargo.dtons, cargo.purchasePrice); lblDesc.Text = cargo.desc; lblOrigSystem.Text = cargo.origSEC; edDM.Text = ship.TradeDM.ToString(); this.world = world; this.cargo = cargo; this.ship = ship; // and set the selling info this.cargo.sellingDate = this.ship.Date; this.cargo.destSEC = this.world.SEC; }
// find the cargo based on the listview info private Traveller.Starship.cargoDesc loadCargo(ListViewItem li) { Traveller.Starship.cargoDesc cargo = new Traveller.Starship.cargoDesc(); int cargoID = 0; int.TryParse(li.SubItems[6].Text, out cargoID); if (cargoID > 0) { cargo = ship.loadCargo(cargoID); } return cargo; }
// purchase checked items // note: if passengers, we need to select the quantity available private void btnBuy_Click(object sender, EventArgs e) { int tons = 0; int availableTons = ship.Cargo - ship.CargoHeld; foreach (ListViewItem li in lvAvailableCargo.Items) { if (li.Checked) { tons = Convert.ToInt32(li.SubItems[2].Text); if (tons <= availableTons) { availableTons -= tons; ship.travelogue(String.Format("Cargo purchase: {0} / {1} tons for Cr{2} ({3})", li.Text, li.SubItems[2].Text, li.SubItems[1].Text, li.SubItems[3].Text)); ship.CargoHeld += tons; // and add to the cargo listing Traveller.Starship.cargoDesc cd = new Traveller.Starship.cargoDesc(); cd.desc = li.SubItems[3].Text; cd.origCode = li.Text; cd.origSEC = ship.SEC; cd.sellingPrice = 0; cd.purchaseDate = ship.Date; cd.dtons = Convert.ToInt32(li.SubItems[2].Text); cd.purchasePrice = Convert.ToInt32(li.SubItems[1].Text); int.TryParse(li.SubItems[4].Text, out cd.basecostbuy); double.TryParse(li.SubItems[5].Text, out cd.avBuy); ship.addCargo(cd); ship.Credits -= cd.purchasePrice; } else { MessageBox.Show("Unable to purchase " + li.Text); } } } ship.save(); showShip(ship.Filename); }