public async Task UserPrepareWithdrawalItemsSuccess() { _offerMinmalInfo.OfferSend.SteamOffer.ItemsToReceive.Clear(); _offerMinmalInfo.OfferSend.SteamOffer.Id = "12346"; var offerTransInsertWithId = new DatabaseModel.OfferTransaction(1, 14, new decimal(196.91), false, "12346", DateTime.Today, 75); var bot = new DatabaseModel.Bot("botSteamId", "botName", 14); var userInsertRes = new DatabaseModel.User("userSteamId", "name", "img", "tradeLink", DateTime.Today, DateTime.Today, false, null, 1); A.CallTo(() => _fakedUserRepoService.FindAsync("userSteamId")).Returns(userInsertRes); var botLookRes = Task.FromResult(bot); A.CallTo(() => _fakedBotRepoService.FindAsync("botSteamId")).Returns(botLookRes); A.CallTo(() => _fakedOfferTranascrionRepoService.InsertAsync(A <DatabaseModel.OfferTransaction> .That.Matches(o => !o.IsDeposit && o.Accepted == null && o.BotId == 14 && o.UserId == 1 && o.Id == 0 && o.TotalValue == new decimal(196.91) ), A <ITransactionWrapper> ._)).Returns(offerTransInsertWithId); await _offerService.PrepareWithdrawlSteamOffer(_offerMinmalInfo.OfferSend.SteamOffer.ItemsToGive.ToList(), bot, userInsertRes); A.CallTo(() => _fakedOfferTranascrionRepoService.InsertAsync(A <DatabaseModel.OfferTransaction> .That.Matches(o => !o.IsDeposit && o.Accepted == null && o.BotId == 14 && o.UserId == 1 && o.Id == 0 && o.TotalValue == new decimal(196.91) ), A <ITransactionWrapper> ._)).MustHaveHappened(); A.CallTo(() => _fakedItemInOfferTransactionRepoService.InsertAsync(A <List <DatabaseModel.ItemInOfferTransaction> > .That.Matches(i => i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 1 && o.Value == new decimal(11.22)).ToList().Count == 2 && i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 3 && o.Value == new decimal(78.00)).ToList().Count == 1 && i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 4 && o.Value == new decimal(5.47)).ToList().Count == 1 && i.Where(o => o.OfferTransactionId == 75 && o.ItemDescriptionId == 2 && o.Value == new decimal(45.5)).ToList().Count == 2 ), A <ITransactionWrapper> ._)).MustHaveHappened(); A.CallTo(() => _fakedTransactionWrapper.Commit()).MustHaveHappened(); }
public async Task <DatabaseModel.Bot> InsertAsync(DatabaseModel.Bot bot) { var query = _botQueries.InsertReturnsId(bot); var id = (int)await _databaseConnection.ExecuteScalarAsync(query); return(new DatabaseModel.Bot(bot.SteamId, bot.Name, id)); }
public async Task InitTest() { var itemDesc1 = new DatabaseModel.ItemDescription("item1", new decimal(10.20), "730", "2", "imageUrl", true); var itemDesc2 = new DatabaseModel.ItemDescription("item2", new decimal(11.40), "730", "2", "imageUrl", true); ItemDescription1 = await new ItemDescriptionRepoService(DatabaseConnectionFactory, new ItemDescriptionQueries()).InsertAsync(itemDesc1); ItemDescription2 = await new ItemDescriptionRepoService(DatabaseConnectionFactory, new ItemDescriptionQueries()).InsertAsync(itemDesc2); var gameMode = new DatabaseModel.GameMode("Jackpot", 1); var gameMode2 = new DatabaseModel.GameMode("Jackpot1", 2); var gameMode3 = new DatabaseModel.GameMode("Jackpot2", 3); var gameMode4 = new DatabaseModel.GameMode("Jackpot3", 4); GameMode = await new GameModeRepoService(DatabaseConnectionFactory).Insert(gameMode); GameMode2 = await new GameModeRepoService(DatabaseConnectionFactory).Insert(gameMode2); GameMode3 = await new GameModeRepoService(DatabaseConnectionFactory).Insert(gameMode3); GameMode4 = await new GameModeRepoService(DatabaseConnectionFactory).Insert(gameMode4); var bot = new DatabaseModel.Bot(",anotherBot", "Bot 2"); Bot1 = await new BotRepoService(DatabaseConnectionFactory, new BotQueries()).InsertAsync(bot); var match = new DatabaseModel.Match(1, "salt", "hash", 55.ToString(CultureInfo.InvariantCulture), 1, null, null, 1, GameMode.Id, DateTime.Now); Match1 = await new MatchRepoService(DatabaseConnectionFactory, new MatchQueries()).InsertAsync(match); var match1 = new DatabaseModel.Match(2, "salt", "hash", 55.ToString(CultureInfo.InvariantCulture), 1, null, null, 1, GameMode.Id, DateTime.Now); Match2 = await new MatchRepoService(DatabaseConnectionFactory, new MatchQueries()).InsertAsync(match1); }
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 }); }
public SqlQuery InsertReturnsId(DatabaseModel.Bot bot) { var dict = new Dictionary <string, object> { { "@steamId", bot.SteamId }, { "@name", bot.Name } }; return(new SqlQuery("INSERT INTO [Bot] (SteamId, Name) OUTPUT INSERTED.Id VALUES (@steamId ,@name);", dict)); }
public async void BotInsertOneSuccess() { var botReposeService = new BotRepoService(_fakedFactory, new BotQueries()); var bot = new DatabaseModel.Bot("someSteamId", "Bot 1"); var insertRes = await botReposeService.InsertAsync(bot); Assert.True(insertRes.Id > 0); var getRes = await botReposeService.FindAsync(1); Assert.Equal("someSteamId", getRes.SteamId); Assert.Equal("Bot 1", getRes.Name); }
public async Task InitTest() { var offerTransactionServiceRepo = new OfferTransactionRepoService(DatabaseConnectionFactory, new OfferTransationQueries()); var botServiceRepo = new BotRepoService(DatabaseConnectionFactory, new BotQueries()); var userServiceRepo = new UserRepoService(DatabaseConnectionFactory, new UserQueries()); var itemDescServiceRepo = new ItemDescriptionRepoService(DatabaseConnectionFactory, new ItemDescriptionQueries()); _user1 = await userServiceRepo.InsertAsync(new DatabaseModel.User("steamId1", "name1", "imgUrl", "tradelink", DateTime.Now, DateTime.Now, false)); _user2 = await userServiceRepo.InsertAsync(new DatabaseModel.User("steamId2", "name2", "imgUrl", "tradelink", DateTime.Now, DateTime.Now, false)); _bot1 = await botServiceRepo.InsertAsync(new DatabaseModel.Bot("botSteamId1", "botName1")); var toInsert1 = new DatabaseModel.OfferTransaction(_user1.Id, _bot1.Id, new decimal(10.45), true, "456232", DateTime.Now); var toInsert2 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(54.45), false, "456332", DateTime.Now); var toInsert3 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(666.66), false, "454132", DateTime.Now); var toInsert4 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(544.75), false, "455132", null); var toInsert5 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(10.75), true, "456162", DateTime.Today); var toInsert6 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(10.75), true, "44864748654", DateTime.Today); var toInsert7 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(10.75), true, "548", DateTime.Today); var toInsert8 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(10.75), true, "555", DateTime.Today); var toInsert9 = new DatabaseModel.OfferTransaction(_user2.Id, _bot1.Id, new decimal(10.75), true, "5646555", DateTime.Today); OfferTransaction1 = await offerTransactionServiceRepo.InsertAsync(toInsert1); OfferTransaction2 = await offerTransactionServiceRepo.InsertAsync(toInsert2); OfferTransaction3 = await offerTransactionServiceRepo.InsertAsync(toInsert3); OfferTransaction4 = await offerTransactionServiceRepo.InsertAsync(toInsert4); OfferTransaction5 = await offerTransactionServiceRepo.InsertAsync(toInsert5); OfferTransaction6 = await offerTransactionServiceRepo.InsertAsync(toInsert6); OfferTransaction7 = await offerTransactionServiceRepo.InsertAsync(toInsert7); OfferTransaction8 = await offerTransactionServiceRepo.InsertAsync(toInsert8); OfferTransaction9 = await offerTransactionServiceRepo.InsertAsync(toInsert9); ItemDescription1 = await itemDescServiceRepo.InsertAsync(new DatabaseModel.ItemDescription("weapon1", new decimal(1.40), "720", "2", "imgUrl1", true)); ItemDescription2 = await itemDescServiceRepo.InsertAsync(new DatabaseModel.ItemDescription("weapon2", new decimal(8.75), "720", "2", "imgUrl2", true)); }
private MakeOfferRequest MakeOfferRequest(DatabaseModel.User user, DatabaseModel.Bot bot, IEnumerable<Item> itemsInOffer, bool isDeposit) { var request = new MakeOfferRequest { SendItems = !isDeposit, User = new User { SteamId = user.SteamId, TradeLink = user.TradeLink }, BotName = bot.Name, Items = {itemsInOffer} }; return request; }
public async Task <DatabaseModel.OfferTransaction> PrepareWithdrawlSteamOffer ( List <Item> itemsInOfferRequest, DatabaseModel.Bot bot, DatabaseModel.User owner ) { var offer = await CreateTransactionOfferAsync(itemsInOfferRequest, bot, owner, false); offer.OfferTransactions.Accepted = null; using (var transation = _transactionFactory.BeginTransaction()) { return(await InsertTransactionOfferAndItemsInTransactionOffer(transation, offer.OfferTransactions, offer.ItemsInOffer)); } }
private async Task AddPrepareWithdrawOfferToDatabase ( List<Item> itemsInOffer, DatabaseModel.Bot bot, DatabaseModel.User user, MakeOfferResponse offerResponse ) { var offerTransaction = await _offerService.PrepareWithdrawlSteamOffer(itemsInOffer.ToList(), bot, user); if (offerResponse.DataCase == MakeOfferResponse.DataOneofCase.Error || offerResponse.DataCase == MakeOfferResponse.DataOneofCase.None) { await _repoServiceFactory.ItemInOfferTransactionRepoService.Remove(offerTransaction.Id); await _repoServiceFactory.OfferTranascrionRepoService.Remove(offerTransaction.Id); return; } await _repoServiceFactory.OfferTranascrionRepoService.AddSteamIdToOffer(offerTransaction.Id, offerResponse.Offer.SteamOffer.Id); }
public async Task InitTest() { var itemDesc1 = new DatabaseModel.ItemDescription("item1", new decimal(10.20), "730", "2", "imageUrl", true); var itemDesc2 = new DatabaseModel.ItemDescription("item2", new decimal(11.40), "730", "2", "imageUrl", true); ItemDescription1 = await new ItemDescriptionRepoService(DatabaseConnectionFactory, new ItemDescriptionQueries()).InsertAsync(itemDesc1); ItemDescription2 = await new ItemDescriptionRepoService(DatabaseConnectionFactory, new ItemDescriptionQueries()).InsertAsync(itemDesc2); var bot = new DatabaseModel.Bot(",anotherBot", "Bot 2"); Bot1 = await new BotRepoService(DatabaseConnectionFactory, new BotQueries()).InsertAsync(bot); var userRepo = new QueryFactory().UserQueries; var userRepoService = new UserRepoService(DatabaseConnectionFactory, userRepo); User1 = await userRepoService.InsertAsync(new DatabaseModel.User( "987456131549", "Kalle", " ba/bab154f01140ec39b2986d97838f0127534ec82d_full.jpg ", "?partner=117688384&token=mn347bmb ", DateTime.Now, DateTime.Now, false )); User2 = await userRepoService.InsertAsync(new DatabaseModel.User( "987456131548", "Kalle1", " ba/bab154f01140ec39b2986d97838f0127534ec82d_full.jpg ", "?partner=117688384&token=mn347bmb ", DateTime.Now, DateTime.Now, false )); User3 = await userRepoService.InsertAsync(new DatabaseModel.User( "789456321159", "Kalle1", " ba/bab154f01140ec39b2986d97838f0127534ec82d_full.jpg ", "?partner=117688384&token=mn347bmb ", DateTime.Now, DateTime.Now, false )); User4 = await userRepoService.InsertAsync(new DatabaseModel.User( "4571248613587", "Kalle1", " ba/bab154f01140ec39b2986d97838f0127534ec82d_full.jpg ", "?partner=117688384&token=mn347bmb ", DateTime.Now, DateTime.Now, false )); User5 = await userRepoService.InsertAsync(new DatabaseModel.User( "2745613477", "Kalle1", " ba/bab154f01140ec39b2986d97838f0127534ec82d_full.jpg ", "?partner=117688384&token=mn347bmb ", DateTime.Now, DateTime.Now, false )); User6 = await userRepoService.InsertAsync(new DatabaseModel.User( "27456134hjadshjgs77", "Kalle1", " ba/bab154f01140ec39b2986d97838f0127534ec82d_full.jpg ", "?partner=117688384&token=mn347bmb ", DateTime.Now, DateTime.Now, false )); }
public SqlQuery Insert(DatabaseModel.Bot bot) { return(InsertRange(new List <DatabaseModel.Bot> { bot })); }