private void createBlueprintInfo() { Production_Blueprint = DataManager.QueryBlueprintProduction(Production_Item.typeID); Production_Materials_EVEList = DataManager.QueryBlueprintProductionMaterials(Production_Item.typeID); Production_Materials_List.BeginUpdate(); Production_Materials_List.Items.Clear(); foreach (var item in Production_Materials_EVEList) { var listViewItem = new ListViewItem(); listViewItem.Text = item.name; listViewItem.Tag = item.typeID; listViewItem.SubItems.Add(item.request_quantity.ToString()); listViewItem.SubItems.Add(item.number.ToString()); listViewItem.SubItems.Add(item.price.ToString()); listViewItem.SubItems.Add(""); Production_Materials_List.Items.Add(listViewItem); } Production_Materials_List.EndUpdate(); updateBlueprintInfo(); }
private void Production_Click(object sender, EventArgs e) { Production_Materials_List.BeginUpdate(); int index = 0; foreach (ListViewItem item in Production_Materials_List.Items) { EVEItem eveItem = Production_Materials_EVEList[index]; DataManager.QueryInventory(eveItem); eveItem.number = eveItem.number - int.Parse(item.SubItems[1].Text); DataManager.UpdateInventoryNumber(eveItem); index++; } Production_Materials_List.EndUpdate(); DataManager.EnterInventory(Production_Blueprint.targetID, int.Parse(Production_Number.Text), int.Parse(Production_SingleCost.Text.Replace(",", "")), Production_Blueprint.targetName); updateBlueprintInfo(); }
private void updateBlueprintInfo() { Production_Materials_List.BeginUpdate(); int index = 0; int outNumber = 0; int production_Number = 1; int save = 0; float cost = 0; bool canProduction = true; if (int.TryParse(Production_Number.Text, out outNumber)) { if (outNumber == 0) { outNumber = 1; } production_Number = outNumber; } if (int.TryParse(Production_BlueprintSave.Text, out outNumber)) { save += outNumber; } if (int.TryParse(Production_BuildingsSave.Text, out outNumber)) { save += outNumber; } if (int.TryParse(Production_BlueprintCost.Text, out outNumber)) { cost += outNumber; } if (int.TryParse(Production_InventCost.Text, out outNumber)) { cost += outNumber; } if (int.TryParse(Production_BuildingsCost.Text, out outNumber)) { cost += outNumber; } cost = cost / production_Number; foreach (ListViewItem item in Production_Materials_List.Items) { EVEItem eveItem = Production_Materials_EVEList[index]; DataManager.QueryInventory(eveItem); int number = (int)Math.Round(eveItem.request_quantity * ((100 - save) * 0.01f)); float market_price = PriceService.GetPrice(eveItem.typeID).sell.min; item.SubItems[1].Text = (number * production_Number).ToString(); item.SubItems[2].Text = (eveItem.number).ToString(); if (number * production_Number > eveItem.number) { item.ForeColor = Color.Red; canProduction = false; } else { item.ForeColor = Color.Black; } item.SubItems[3].Text = (eveItem.price).ToString(); item.SubItems[4].Text = (market_price).ToString(); if (eveItem.number > 0) { cost += number * eveItem.price; } else { cost += number * market_price; } index++; } Production_Materials_List.EndUpdate(); var priceS = PriceService.GetPrice(Production_Blueprint.targetID); float sell = priceS.sell.min; float buy = priceS.buy.max; Production_SingleCost.Text = cost.ToString("###,###"); Production_Cost.Text = (cost * production_Number).ToString("###,###"); Production_Sell.Text = sell.ToString("###,###"); Production_Buy.Text = buy.ToString("###,###"); Production_SingleProfit.Text = (sell - cost).ToString("###,###"); Production_Profit.Text = ((sell - cost) * production_Number).ToString("###,###"); Production.Enabled = canProduction; }