示例#1
0
        private void StartSteamSellButtonClick(object sender, EventArgs e)
        {
            try
            {
                if (CurrentSession.SteamManager == null)
                {
                    MessageBox.Show(
                        @"You should log in first",
                        @"Error sending trade offer",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                    Logger.Error("Error on inventory loading. No logged in accounts found.");
                    return;
                }

                double changeValue = 0, changePercentValue = 0;

                EMarketSaleType marketSaleType;
                if (this.ManualPriceRadioButton.Checked)
                {
                    marketSaleType = EMarketSaleType.Manual;
                }
                else if (this.RecomendedPriceRadioButton.Checked)
                {
                    marketSaleType = EMarketSaleType.Recommended;
                }
                else if (this.AveregeMinusPriceRadioButton.Checked)
                {
                    marketSaleType = EMarketSaleType.LowerThanAverage;
                    changeValue = (double)this.AveragePriceNumericUpDown.Value;
                    changePercentValue = (double)this.AveragePricePercentNumericUpDown.Value;
                }
                else if (this.CurrentMinusPriceRadioButton.Checked)
                {
                    marketSaleType = EMarketSaleType.LowerThanCurrent;
                    changeValue = (double)this.CurrentPriceNumericUpDown.Value;
                    changePercentValue = (double)this.CurrentPricePercentNumericUpDown.Value;
                }
                else
                {
                    throw new InvalidOperationException("Not implemented market sale type");
                }

                PriceLoader.StopAll();
                var itemsToSale = new PriceShaper(
                    this.ItemsToSaleGridView,
                    marketSaleType,
                    changeValue,
                    changePercentValue).GetItemsForSales();

                WorkingProcessForm.InitProcess(() => CurrentSession.SteamManager.SellOnMarket(itemsToSale));
            }
            catch (Exception ex)
            {
                Logger.Critical("Error on 'Market sell' - 'Start items sell' button click", ex);
            }
        }
        private void CancelAllButtonClick(object sender, EventArgs e)
        {
            try
            {
                var rows = this.AllSteamItemsGridView.Rows.Cast <DataGridViewRow>();

                var hashNames = rows.Select(
                    r => (string)r.Cells[ListingHiddenMarketHashNameCellIndex].Value
                    + (double)r.Cells[ListingPriceCellIndex].Value).ToList();

                var itemsToCancel = new List <MyListingsSalesItem>();
                hashNames.ForEach(n => itemsToCancel.AddRange(MyListings[n]));

                WorkingProcessForm.InitProcess(() => CurrentSession.SteamManager.CancelSellOrder(itemsToCancel));
            }
            catch (Exception ex)
            {
                Logger.Critical(ex);
            }
        }