/// <summary> /// Вычилсить прибыль и добавить строчку в таблицу /// </summary> /// <param name="ore">тип руды</param> /// <param name="netYield">The net yield.</param> /// <param name="quantity">количество руды для процессинга</param> private double InsertProfitLine(Ore ore, double netYield, int quantity) { int unitProcess = quantity - quantity % ore.UnitsToRefine; int numberOfCycles = quantity / ore.UnitsToRefine; MineralsOut minout = ore.GetMineralsOut(netYield, quantity); double profit = minout.GetMineralProfit(); //Добавляем строчку DataGridViewRow row = new DataGridViewRow(); DataGridViewCell[] cells = new DataGridViewCell[dataGridViewCalc.ColumnCount]; cells[ColumnOreCalc.Index] = new DataGridViewTextBoxCell { Value = ore.Name }; cells[ColumnVolume.Index] = new DataGridViewTextBoxCell { Value = (unitProcess * ore.Volume).ToString("F2") // + " m3" }; cells[ColumnRefVolume.Index] = new DataGridViewTextBoxCell { Value = ((ore.MineralsOut.Tritanium + ore.MineralsOut.Pyerite + ore.MineralsOut.Mexallon + ore.MineralsOut.Isogen + ore.MineralsOut.Nocxium + ore.MineralsOut.Zydrine + ore.MineralsOut.Megacyte + ore.MineralsOut.Morphite) * numberOfCycles * ore.GetEfficiency(netYield) * 0.01).ToString("F2") }; cells[ColumnProfit.Index] = new DataGridViewTextBoxCell { Value = profit.ToString("#,#.##") }; // + " ISK"}; cells[ColumnDelete2.Index] = new DataGridViewButtonCell { Value = "x" }; row.Cells.AddRange(cells); dataGridViewCalc.Rows.Add(row); return(profit); }
/// <summary> /// Handles the Click event of the btnCalculateBars control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void BtnCalculateBarsClick(object sender, EventArgs e) { double netYield = 0.5; try { netYield = Convert.ToDouble(textBoxNetYield.Text) / 100; } catch (FormatException) { } //Veldspar int quantity = GetQuantity(textBoxVeldspar0); Ore ore = OreList.Get("Veldspar"); MineralsOut minerals = ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxVeldspar5); ore = OreList.Get("Concentrated Veldspar"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxVeldspar10); ore = OreList.Get("Dense Veldspar"); minerals += ore.GetMineralsOut(netYield, quantity); //Scordite quantity = GetQuantity(textBoxScordite0); ore = OreList.Get("Scordite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxScordite5); ore = OreList.Get("Condensed Scordite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxScordite10); ore = OreList.Get("Massive Scordite"); minerals += ore.GetMineralsOut(netYield, quantity); //Pyroxeres quantity = GetQuantity(textBoxPyroxeres0); ore = OreList.Get("Pyroxeres"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxPyroxeres5); ore = OreList.Get("Solid Pyroxeres"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxPyroxeres10); ore = OreList.Get("Viscous Pyroxeres"); minerals += ore.GetMineralsOut(netYield, quantity); //Plagioclase quantity = GetQuantity(textBoxPlagioclase0); ore = OreList.Get("Plagioclase"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxPlagioclase5); ore = OreList.Get("Azure Plagioclase"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxPlagioclase10); ore = OreList.Get("Rich Plagioclase"); minerals += ore.GetMineralsOut(netYield, quantity); //Omber quantity = GetQuantity(textBoxOmber0); ore = OreList.Get("Omber"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxOmber5); ore = OreList.Get("Silvery Omber"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxOmber10); ore = OreList.Get("Golden Omber"); minerals += ore.GetMineralsOut(netYield, quantity); //Kernite quantity = GetQuantity(textBoxKernite0); ore = OreList.Get("Kernite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxKernite5); ore = OreList.Get("Luminous Kernite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxKernite10); ore = OreList.Get("Fiery Kernite"); minerals += ore.GetMineralsOut(netYield, quantity); //Jaspet quantity = GetQuantity(textBoxJaspet0); ore = OreList.Get("Jaspet"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxJaspet5); ore = OreList.Get("Pure Jaspet"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxJaspet10); ore = OreList.Get("Pristine Jaspet"); minerals += ore.GetMineralsOut(netYield, quantity); //Hemorphite quantity = GetQuantity(textBoxHemorphite0); ore = OreList.Get("Hemorphite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxHemorphite5); ore = OreList.Get("Vivid Hemorphite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxHemorphite10); ore = OreList.Get("Radiant Hemorphite"); minerals += ore.GetMineralsOut(netYield, quantity); //Hedbergite quantity = GetQuantity(textBoxHedbergite0); ore = OreList.Get("Hedbergite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxHedbergite5); ore = OreList.Get("Vitric Hedbergite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxHedbergite10); ore = OreList.Get("Glazed Hedbergite"); minerals += ore.GetMineralsOut(netYield, quantity); //Gneiss quantity = GetQuantity(textBoxGneiss0); ore = OreList.Get("Gneiss"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxGneiss5); ore = OreList.Get("Iridescent Gneiss"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxGneiss10); ore = OreList.Get("Prismatic Gneiss"); minerals += ore.GetMineralsOut(netYield, quantity); //DarkOchre quantity = GetQuantity(textBoxDarkOchre0); ore = OreList.Get("Dark Ochre"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxDarkOchre5); ore = OreList.Get("Onyx Ochre"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxDarkOchre10); ore = OreList.Get("Obsidian Ochre"); minerals += ore.GetMineralsOut(netYield, quantity); //Spodumain quantity = GetQuantity(textBoxSpodumain0); ore = OreList.Get("Spodumain"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxSpodumain5); ore = OreList.Get("Bright Spodumain"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxSpodumain10); ore = OreList.Get("Gleaming Spodumain"); minerals += ore.GetMineralsOut(netYield, quantity); //Crokite quantity = GetQuantity(textBoxCrockite0); ore = OreList.Get("Crokite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxCrockite5); ore = OreList.Get("Sharp Crokite"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxCrockite10); ore = OreList.Get("Crystalline Crokite"); minerals += ore.GetMineralsOut(netYield, quantity); //Bistot quantity = GetQuantity(textBoxBistot0); ore = OreList.Get("Bistot"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxBistot5); ore = OreList.Get("Triclinic Bistot"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxBistot10); ore = OreList.Get("Monoclinic Bistot"); minerals += ore.GetMineralsOut(netYield, quantity); //Arkonor quantity = GetQuantity(textBoxArkonor0); ore = OreList.Get("Arkonor"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxArkonor5); ore = OreList.Get("Crimson Arkonor"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxArkonor10); ore = OreList.Get("Prime Arkonor"); minerals += ore.GetMineralsOut(netYield, quantity); //Mercoxit quantity = GetQuantity(textBoxMercoxit0); ore = OreList.Get("Mercoxit"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxMercoxit5); ore = OreList.Get("Magma Mercoxit"); minerals += ore.GetMineralsOut(netYield, quantity); quantity = GetQuantity(textBoxMercoxit10); ore = OreList.Get("Vitreous Mercoxit"); minerals += ore.GetMineralsOut(netYield, quantity); RefreshHistogram(minerals); }