本文整理汇总了C#中DatabaseHelper.IncrementCounterAsync方法的典型用法代码示例。如果您正苦于以下问题:C# DatabaseHelper.IncrementCounterAsync方法的具体用法?C# DatabaseHelper.IncrementCounterAsync怎么用?C# DatabaseHelper.IncrementCounterAsync使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseHelper
的用法示例。
在下文中一共展示了DatabaseHelper.IncrementCounterAsync方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IncrementingCounterStoresTheHistoryOfTheValuesInTheDatabase
public void IncrementingCounterStoresTheHistoryOfTheValuesInTheDatabase()
{
var dbfile = Path.Combine(RootPath, Guid.NewGuid().ToString("N") + ".db3");
DatabaseHelper.CreateDatabase(dbfile);
var db = new DatabaseHelper();
var counter = new Counter
{
Name = "TestCounter",
Description = "A test counter"
};
var res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter);
return 0;
}).Result;
var now = DateTime.UtcNow;
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter);
return 0;
}).Result;
Thread.Sleep(2000);
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter);
return 0;
}).Result;
Thread.Sleep(2000);
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter);
return 0;
}).Result;
Thread.Sleep(2000);
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter);
return 0;
}).Result;
var history = Task.Run(async () => await db.GetCounterHistory(counter.Id)).Result.ToList();
history.Count.Should().Be(4);
history[0].IncrementDateTimeUtc.Should().BeOnOrAfter(now);
history[1].IncrementDateTimeUtc.Should().BeOnOrAfter(now.AddSeconds(2));
history[2].IncrementDateTimeUtc.Should().BeOnOrAfter(now.AddSeconds(4));
history[3].IncrementDateTimeUtc.Should().BeOnOrAfter(now.AddSeconds(6));
}
示例2: GettingAllTheHistoryForACounterJustGetsTheHistoryForThatCounter
public void GettingAllTheHistoryForACounterJustGetsTheHistoryForThatCounter()
{
var dbfile = Path.Combine(RootPath, Guid.NewGuid().ToString("N") + ".db3");
DatabaseHelper.CreateDatabase(dbfile);
var db = new DatabaseHelper();
var counter1 = new Counter
{
Name = "Counter1",
Description = "A test counter"
};
var counter2 = new Counter
{
Name = "Counter2",
Description = "A second test counter"
};
var now = DateTime.UtcNow;
var res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter1);
return 0;
}).Result;
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter1);
return 0;
}).Result;
res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter2);
return 0;
}).Result;
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter2);
return 0;
}).Result;
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter2);
return 0;
}).Result;
var history = Task.Run(async () => await db.GetCounterHistory(counter1.Id)).Result.ToList();
history.Count.Should().Be(1);
history[0].CounterId.Should().Be(counter1.Id);
history[0].IncrementDateTimeUtc.Should().BeOnOrAfter(now).And.BeBefore(DateTime.UtcNow);
}
示例3: IncrementCounterShouldIncrementTheCounterValueInTheDatabase
public void IncrementCounterShouldIncrementTheCounterValueInTheDatabase()
{
var dbfile = Path.Combine(RootPath, Guid.NewGuid().ToString("N") + ".db3");
DatabaseHelper.CreateDatabase(dbfile);
var db = new DatabaseHelper();
var counter = new Counter
{
Name = "TestCounter",
Description = "A test counter"
};
counter.Value.Should().Be(0);
var res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter);
return 0;
}).Result;
res = Task.Run(async () =>
{
await db.IncrementCounterAsync(counter);
return 0;
}).Result;
counter.Value.Should().Be(1);
var newCounter = Task.Run(async () => (await db.GetAllCountersAsync()).Single()).Result;
newCounter.Should().NotBeSameAs(counter);
newCounter.Value.Should().Be(counter.Value);
}