Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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>();
        }