public static void Main(string[] args) { var connectionString = ConfigurationManager.ConnectionStrings["ScheduleR"].ConnectionString; var repository = new SqlServerEventStoreRepository(connectionString, "ScheduleR"); // add scheduled notification var pointInTime = new PointInTime(DateTime.UtcNow.AddMinutes(2)); var schedule = new Schedule(pointInTime); var task = new Task(Guid.NewGuid()); schedule.Add(task); repository.Save(schedule); using (new Clock(repository)) { Console.WriteLine("Waiting..."); Console.ReadLine(); } }
public void ShouldThrowForSqlServerEventStoreRepository() { // arrange var repository = new SqlServerEventStoreRepository(this.ConnectionString); var naturalKey = "key"; // act var subject = new EventBasedSubject(naturalKey); repository.Save(subject); var sameSubject = repository.Load <EventBasedSubject>(subject.NaturalKey); subject.Destroy(); repository.Save(subject); sameSubject.Change(); Action action = () => repository.Save(sameSubject); // assert action.ShouldThrow <ConcurrencyException>(); }