本文整理汇总了C#中DatabaseHelper.AddOrUpdateCounterAsync方法的典型用法代码示例。如果您正苦于以下问题:C# DatabaseHelper.AddOrUpdateCounterAsync方法的具体用法?C# DatabaseHelper.AddOrUpdateCounterAsync怎么用?C# DatabaseHelper.AddOrUpdateCounterAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseHelper
的用法示例。
在下文中一共展示了DatabaseHelper.AddOrUpdateCounterAsync方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdatingTheCountersNameShouldUpdateTheValueInTheDatabase
public void UpdatingTheCountersNameShouldUpdateTheValueInTheDatabase()
{
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.Id.Should().Be(0);
var res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter);
return 0;
}).Result;
counter.Name = "RenamedCounter";
res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter);
return 0;
}).Result;
var newCounter = Task.Run(async () => (await db.GetAllCountersAsync()).Single()).Result;
newCounter.Should().NotBeSameAs(counter);
newCounter.Id.Should().Be(counter.Id);
newCounter.Name.Should().Be(counter.Name);
newCounter.Description.Should().Be(counter.Description);
}
示例2: InsertingACounterShouldSetItsIdAsync
public void InsertingACounterShouldSetItsIdAsync()
{
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.Id.Should().Be(0);
var res = Task.Run(async () =>
{
await db.AddOrUpdateCounterAsync(counter);
return 0;
}).Result;
counter.Id.Should().Be(1);
}
示例3: DeletingACounterShouldRaiseTheCollectionChangedEvent
public void DeletingACounterShouldRaiseTheCollectionChangedEvent()
{
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 eventRecorder = new EventRecorder(db, nameof(DatabaseHelper.CountersChanged));
eventRecorder.RecordEvent();
res = Task.Run(async () =>
{
await db.DeleteCounterAsync(counter);
return 0;
}).Result;
eventRecorder.Should().HaveCount(1);
}
示例4: DeletingACounterShouldDeleteTheCounter
public void DeletingACounterShouldDeleteTheCounter()
{
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 counters = Task.Run(async () => await db.GetAllCountersAsync()).Result;
counters.Should().HaveCount(1);
res = Task.Run(async () =>
{
await db.DeleteCounterAsync(counter);
return 0;
}).Result;
counters = Task.Run(async () => await db.GetAllCountersAsync()).Result;
counters.Should().HaveCount(0);
}
示例5: 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);
}
示例6: 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));
}