public async Task GetItemCount()
        {
            var toInsert1 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction9.Id, _setup.ItemDescription1.Id, "assetId4871",
                                                                     new decimal(14.45));
            var toInsert2 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction9.Id, _setup.ItemDescription1.Id, "assetId4872",
                                                                     new decimal(14.45));
            var toInsert3 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction9.Id, _setup.ItemDescription1.Id, "assetId4873",
                                                                     new decimal(14.45));
            var toInsert4 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction9.Id, _setup.ItemDescription1.Id, "assetId4874",
                                                                     new decimal(14.45));
            var toInsert5 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction9.Id, _setup.ItemDescription1.Id, "assetId8464",
                                                                     new decimal(14.45));
            await _itemInOfferTransactionRepoService.InsertAsync(toInsert1);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert2);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert3);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert4);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert5);

            var nr = await _itemInOfferTransactionRepoService.GetItemCountInOffer(_setup.OfferTransaction9.Id);

            Assert.Equal(5, nr);
        }
        public async Task InsertItemsInOfferSuccess()
        {
            var toInsert = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction1.Id, _setup.ItemDescription1.Id, "assetId4474",
                                                                    new decimal(14.45));
            var res = await _itemInOfferTransactionRepoService.InsertAsync(toInsert);

            Assert.True(res.Id > 0);
        }
Esempio n. 3
0
        private async Task <OfferData> CreateTransactionOfferAsync
        (
            List <Item> itemsInOfferRequest,
            DatabaseModel.Bot bot,
            DatabaseModel.User owner,
            bool isDeposit
        )
        {
            var listOfNames = itemsInOfferRequest.Select(item => item.MarketHashName).ToList();

            var itemsDesc = await _itemDescRepoServcice.FindAsync(listOfNames);

            var databaseItems = new List <DatabaseModel.Item>();
            var itemsInOffer  = new List <DatabaseModel.ItemInOfferTransaction>();

            decimal sumOfItems = 0;

            foreach (var item in itemsInOfferRequest)
            {
                DatabaseModel.ItemDescription itemDesc;

                try
                {
                    itemDesc = itemsDesc.First(i => i.Name == item.MarketHashName);
                }
                catch (System.Exception e)
                {
                    var ex = new SteamMarketNameFuckupException(item.MarketHashName, e);
                    ex.Data.Add("marketHashName", item.MarketHashName);
                    ex.Data.Add("itemDescriptions", itemsDesc);
                    _logService.Critical(ex);
                    throw ex;
                }

                var steamLockTime = DateTimeOffset.Now;

                if (item.AppId == 730)
                {
                    steamLockTime = steamLockTime.Add(_steamLock);
                }

                databaseItems.Add(new DatabaseModel.Item(item.AssetId, itemDesc.Id, bot.Id, owner.Id, steamLockTime));
                sumOfItems += itemDesc.Value;

                var itemInOffer = new DatabaseModel.ItemInOfferTransaction(int.MinValue, itemDesc.Id, item.AssetId, itemDesc.Value);
                itemsInOffer.Add(itemInOffer);
            }

            var offer = new DatabaseModel.OfferTransaction(owner.Id, bot.Id, sumOfItems, isDeposit, null, DateTime.Now);

            return(new OfferData
            {
                Items = databaseItems,
                ItemsInOffer = itemsInOffer,
                OfferTransactions = offer
            });
        }
Esempio n. 4
0
        public async Task <DatabaseModel.ItemInOfferTransaction> InsertAsync(DatabaseModel.ItemInOfferTransaction itemInOfferTransaction)
        {
            var query = _itemInOfferTransactionQueries.InsertReturnsId(itemInOfferTransaction);
            var id    = (int)await _databaseConnection.ExecuteScalarAsync(query);

            return(new DatabaseModel.ItemInOfferTransaction(
                       itemInOfferTransaction.OfferTransactionId,
                       itemInOfferTransaction.ItemDescriptionId,
                       itemInOfferTransaction.AssetId,
                       itemInOfferTransaction.Value,
                       id
                       ));
        }
        public SqlQuery InsertReturnsId(DatabaseModel.ItemInOfferTransaction itemInOfferTransaction)
        {
            var dict = new Dictionary<string, object>
            {
                {"@offerTransId", itemInOfferTransaction.OfferTransactionId},
                {"@itemDescId", itemInOfferTransaction.ItemDescriptionId},
                {"@assetId", itemInOfferTransaction.AssetId},
                {"@value", itemInOfferTransaction.Value}
            };

            return new SqlQuery(
                "INSERT INTO [ItemInOfferTransaction] (OfferTransactionId, ItemDescriptionId,AssetId, Value) OUTPUT INSERTED.Id VALUES (@offerTransId,@itemDescId,@assetId,@value);",
                dict);
        }
        public async Task RemovedAllItemsWithOfferId()
        {
            var toInsert1 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction8.Id, _setup.ItemDescription1.Id, "assetId4471",
                                                                     new decimal(14.45));
            var toInsert2 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction8.Id, _setup.ItemDescription1.Id, "assetId4472",
                                                                     new decimal(14.45));
            var toInsert3 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction8.Id, _setup.ItemDescription1.Id, "assetId4473",
                                                                     new decimal(14.45));
            var toInsert4 = new DatabaseModel.ItemInOfferTransaction(_setup.OfferTransaction8.Id, _setup.ItemDescription1.Id, "assetId4474",
                                                                     new decimal(14.45));
            await _itemInOfferTransactionRepoService.InsertAsync(toInsert1);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert2);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert3);

            await _itemInOfferTransactionRepoService.InsertAsync(toInsert4);

            var nr = await _itemInOfferTransactionRepoService.Remove(_setup.OfferTransaction8.Id);

            Assert.Equal(4, nr);
        }
 public SqlQuery Insert(DatabaseModel.ItemInOfferTransaction itemInOfferTransaction)
 {
     return InsertRange(new List<DatabaseModel.ItemInOfferTransaction> {itemInOfferTransaction});
 }