public async void ChangeOwnerOfRange()
        {
            var item1    = new DatabaseModel.Item("assetId987894", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item2    = new DatabaseModel.Item("assetId987895", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item3    = new DatabaseModel.Item("assetId987896", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item4    = new DatabaseModel.Item("assetId987897", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var retItem1 = await _itemRepoService.InsertAsync(item1);

            var retItem2 = await _itemRepoService.InsertAsync(item2);

            var retItem3 = await _itemRepoService.InsertAsync(item3);

            var retItem4 = await _itemRepoService.InsertAsync(item4);

            var updateRes = await _itemRepoService.ChangeOwner(new List <int>
            {
                retItem1.Id,
                retItem2.Id,
                retItem3.Id,
                retItem4.Id,
            }, _setup.User6);

            var getRes = await _itemRepoService.FindAsync(_setup.User6);

            Assert.Equal(4, getRes.Count);
        }
        public async void InsertSameAssetIdButDiffrentDescriptionIdSuccess()
        {
            var item  = new DatabaseModel.Item("assetId100", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item2 = new DatabaseModel.Item("assetId100", _setup.ItemDescription1.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            await _itemRepoService.InsertAsync(new List <DatabaseModel.Item>
            {
                item,
                item2
            });

            var itemResult1 = await _itemRepoService.FindAsync(new AssetAndDescriptionId
            {
                AssetId       = "AssetId100",
                DescriptionId = _setup.ItemDescription1.Id,
            });

            var itemResult2 = await _itemRepoService.FindAsync(new AssetAndDescriptionId
            {
                AssetId       = "AssetId100",
                DescriptionId = _setup.ItemDescription2.Id,
            });

            Assert.False(itemResult1.Id == itemResult2.Id);
            Assert.NotNull(itemResult1);
            Assert.NotNull(itemResult2);
        }
        public async void GetAllItemsSuccess()
        {
            var item  = new DatabaseModel.Item("assetId12311", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item2 = new DatabaseModel.Item("assetId12344", _setup.ItemDescription1.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item3 = new DatabaseModel.Item("assetId12333", _setup.ItemDescription1.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);

            var list = new List <DatabaseModel.Item>
            {
                item,
                item2,
                item3
            };

            await _itemRepoService.InsertAsync(list);

            var res = await _itemRepoService.GetAll();

            int matches = 0;

            for (int i = 0; i < res.Count; i++)
            {
                for (int j = 0; j < list.Count; j++)
                {
                    if (list[j].AssetId == res[i].AssetId)
                    {
                        matches++;
                    }
                }
            }

            Assert.Equal(3, matches);
        }
Example #4
0
        public async Task <DatabaseModel.Item> InsertAsync(DatabaseModel.Item item)
        {
            var query = _itemQueries.InsertReturnsId(item);
            var id    = (int)await _databaseConnection.ExecuteScalarAsync(query);

            return(new DatabaseModel.Item(item.AssetId, item.DescriptionId, item.LocationId, item.OwnerId, item.ReleaseTime, id));
        }
 public async void AddItemWithSameAssetIdMultipleTimesThrows()
 {
     var item = new DatabaseModel.Item("assetId3", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
     await Assert.ThrowsAsync <SqlException>(async() => await _itemRepoService.InsertAsync(new List <DatabaseModel.Item>
     {
         item,
         item
     }));
 }
        public async void AddItemsSuccess()
        {
            var item   = new DatabaseModel.Item("assetId1", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var itemId = await _itemRepoService.InsertAsync(item);

            var item2   = new DatabaseModel.Item("assetId2", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var itemId2 = await _itemRepoService.InsertAsync(item2);

            Assert.NotEqual(itemId, itemId2);
        }
        public async void ChangeOwnerOfItemsSuccess()
        {
            var item    = new DatabaseModel.Item("assetId4", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var retItem = await _itemRepoService.InsertAsync(item);

            Assert.True(retItem.Id > 0);

            var updateRes = await _itemRepoService.ChangeOwner(retItem, _setup.User2);

            Assert.Equal(1, updateRes);

            var getRes = await _itemRepoService.FindAsync(retItem.Id);

            Assert.Equal(_setup.User2.Id, getRes.OwnerId);
            Assert.Equal(_setup.Bot1.Id, getRes.LocationId);
        }
Example #8
0
        public SqlQuery InsertReturnsId(DatabaseModel.Item item)
        {
            var dict = new Dictionary <string, object>
            {
                { "@assetId", item.AssetId },
                { "@descId", item.DescriptionId },
                { "@locId", item.LocationId },
                { "@ownerId", item.OwnerId },
                { "@releaseTime", item.ReleaseTime }
            };

            var queryStr =
                "INSERT INTO [Item] (AssetId, DescriptionId, LocationId, OwnerId, ReleaseTime) OUTPUT INSERTED.Id VALUES (@assetId ,@descId, @locId,@ownerId,@releaseTime)";

            return(new SqlQuery(queryStr, dict));
        }
        public async void DeletItemsOnWithdrawSuccess()
        {
            var item  = new DatabaseModel.Item("assetId123", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item2 = new DatabaseModel.Item("assetId123", _setup.ItemDescription1.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            await _itemRepoService.InsertAsync(new List <DatabaseModel.Item>
            {
                item,
                item2
            });

            var itemResult1 =
                await _itemRepoService.DeleteAsync(new AssetAndDescriptionId { AssetId = "assetId123", DescriptionId = _setup.ItemDescription2.Id });

            var itemResult2 =
                await _itemRepoService.DeleteAsync(new AssetAndDescriptionId { AssetId = "assetId123", DescriptionId = _setup.ItemDescription1.Id });

            Assert.Equal(1, itemResult1);
            Assert.Equal(1, itemResult2);
        }
        public async void DeletItemsSuccess()
        {
            var item        = new DatabaseModel.Item("assetId1231", _setup.ItemDescription2.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item2       = new DatabaseModel.Item("assetId1231", _setup.ItemDescription1.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var item3       = new DatabaseModel.Item("assetId1211", _setup.ItemDescription1.Id, _setup.Bot1.Id, _setup.User1.Id, DateTimeOffset.Now);
            var insertItem1 = await _itemRepoService.InsertAsync(item);

            var insertItem2 = await _itemRepoService.InsertAsync(item2);

            var insertItem3 = await _itemRepoService.InsertAsync(item3);

            var res = await _itemRepoService.DeleteAsync(new List <int>
            {
                insertItem1.Id,
                insertItem3.Id
            });


            Assert.Equal(2, res);
        }
Example #11
0
 public SqlQuery Insert(DatabaseModel.Item item)
 {
     return(InsertRange(new List <DatabaseModel.Item> {
         item
     }));
 }
Example #12
0
 public async Task <int> ChangeOwner(DatabaseModel.Item item, DatabaseModel.User user)
 {
     return(await ChangeOwner(item.Id, user));
 }