예제 #1
0
        public void                                     LoadPrices(IPriceProvider a_PriceProvider, Settings.V2._PriceSettings a_Settings, bool a_Silent)
        {
            StopUpdaterThread();

            m_ItemsDB.ResetItemPrices();

            ItemPrices.PricesDataTable pricesTable = new ItemPrices.PricesDataTable();

            string selectSQL = "Select * from " + pricesTable.TableName + " where " +
                               "(" + pricesTable.ProviderIDColumn.ColumnName + " = @ProviderID) AND " +
                               "(" + pricesTable.RegionIDColumn.ColumnName + " = @RegionID) AND " +
                               "(" + pricesTable.SolarIDColumn.ColumnName + " = @SolarID) AND " +
                               "(" + pricesTable.StationIDColumn.ColumnName + " = @StationID) AND" +
                               "(" + pricesTable.PriceTypeColumn.ColumnName + " = @PriceType)";

            SQLiteCommand sqlCommand  = new SQLiteCommand(selectSQL, m_DbConnection);
            PriceRecord   priceFilter = a_PriceProvider.GetCurrentFilter();

            sqlCommand.Parameters.AddWithValue("@ProviderID", (UInt32)priceFilter.Provider);
            sqlCommand.Parameters.AddWithValue("@RegionID", priceFilter.RegionID);
            sqlCommand.Parameters.AddWithValue("@SolarID", priceFilter.SolarID);
            sqlCommand.Parameters.AddWithValue("@StationID", priceFilter.StationID);
            sqlCommand.Parameters.AddWithValue("@PriceType", (UInt32)priceFilter.PriceType);

            SQLiteDataAdapter adapter = new SQLiteDataAdapter(sqlCommand);

            adapter.Fill(pricesTable);

            foreach (ItemPrices.PricesRow currRow in pricesTable.Rows)
            {
                DbRecordToItemRecord(currRow);
            }

            TestMarketPrices(a_PriceProvider, a_Settings, a_Silent);
        }
예제 #2
0
        public void                                     DropPrices(IPriceProvider a_PriceProvider)
        {
            StopUpdaterThread();

            ItemPrices.PricesDataTable pricesTable = new ItemPrices.PricesDataTable();

            string selectSQL = "Delete from " + pricesTable.TableName + " where " +
                               "(" + pricesTable.ProviderIDColumn.ColumnName + " = @ProviderID) AND " +
                               "(" + pricesTable.RegionIDColumn.ColumnName + " = @RegionID) AND " +
                               "(" + pricesTable.SolarIDColumn.ColumnName + " = @SolarID) AND " +
                               "(" + pricesTable.StationIDColumn.ColumnName + " = @StationID) AND" +
                               "(" + pricesTable.PriceTypeColumn.ColumnName + " = @PriceType)";

            SQLiteCommand sqlCommand  = new SQLiteCommand(selectSQL, m_DbConnection);
            PriceRecord   priceFilter = a_PriceProvider.GetCurrentFilter();

            sqlCommand.Parameters.AddWithValue("@ProviderID", (UInt32)priceFilter.Provider);
            sqlCommand.Parameters.AddWithValue("@RegionID", priceFilter.RegionID);
            sqlCommand.Parameters.AddWithValue("@SolarID", priceFilter.SolarID);
            sqlCommand.Parameters.AddWithValue("@StationID", priceFilter.StationID);
            sqlCommand.Parameters.AddWithValue("@PriceType", (UInt32)priceFilter.PriceType);

            sqlCommand.ExecuteNonQuery();
        }
예제 #3
0
        private void BtnLoadMineralPrices_Click(object sender, EventArgs e)
        {
            List <UInt32> loadPricesFor = new List <UInt32>();

            loadPricesFor.Add((UInt32)EveTypeIDs.Tritanium);
            loadPricesFor.Add((UInt32)EveTypeIDs.Pyerite);
            loadPricesFor.Add((UInt32)EveTypeIDs.Mexallon);
            loadPricesFor.Add((UInt32)EveTypeIDs.Isogen);
            loadPricesFor.Add((UInt32)EveTypeIDs.Noxcium);
            loadPricesFor.Add((UInt32)EveTypeIDs.Zydrine);
            loadPricesFor.Add((UInt32)EveTypeIDs.Megacyte);
            loadPricesFor.Add((UInt32)EveTypeIDs.Morphite);

            IPriceProvider provider = PriceProviderAuto.GetPriceProvider(m_Settings.PriceLoad.Minerals);

            // @@@@ Check for exceptions?
            List <PriceRecord> prices      = provider.GetPrices(loadPricesFor);
            PriceRecord        priceFilter = provider.GetCurrentFilter();

            foreach (PriceRecord currRecord in prices)
            {
                if (!currRecord.IsMatchesFilter(priceFilter))
                {
                    continue;
                }

                switch ((EveTypeIDs)currRecord.TypeID)
                {
                case EveTypeIDs.Tritanium:
                    TxtTritanium.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Pyerite:
                    TxtPyerite.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Mexallon:
                    TxtMexallon.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Isogen:
                    TxtIsogen.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Noxcium:
                    TxtNoxcium.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Zydrine:
                    TxtZydrine.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Megacyte:
                    TxtMegacyte.Value = (decimal)currRecord.Price;
                    break;

                case EveTypeIDs.Morphite:
                    TxtMorphite.Value = (decimal)currRecord.Price;
                    break;
                }
            }
        }