Example #1
0
        public async Task Test_Transaction_Insert_Success_Commit()
        {
            var         movieTitle  = "Movie1";
            var         genreName   = "Drama";
            Func <Task> transaction = async() => await _daoHelper.PerformTransaction(async() =>
            {
                await _fluentEntity.InsertInto(new GenreMock {
                    Id = 1, RowVersion = DateTime.Now, Name = genreName
                }).ExecuteAsync();
                await _fluentEntity.InsertInto(new MovieMock
                {
                    Id          = 1,
                    RowVersion  = DateTime.Now,
                    Description = "Demo",
                    Duration    = 1,
                    GenreId     = 1,
                    Image       = new byte[] { },
                    Title       = movieTitle,
                    Trailer     = "empty"
                }).ExecuteAsync();
            });

            await transaction.Should().NotThrowAsync();

            var selectResultMovie = await _fluentEntity.SelectAll <Movie>().QuerySingleAsync();

            var selectResultGenre = await _fluentEntity.SelectAll <GenreMock>().QuerySingleAsync();

            selectResultMovie.Title.Should().Be(movieTitle);
            selectResultGenre.Name.Should().Be(genreName);
        }
Example #2
0
 public async Task Commit()
 {
     try
     {
         if (_executionBlock != null)
         {
             await _daoHelper.PerformTransaction(_executionBlock);
         }
         else
         {
             await _daoHelper.PerformTransaction(async() =>
             {
                 foreach (var execution in _executions)
                 {
                     await execution.ExecuteAsync();
                 }
             });
         }
     }
     finally
     {
         Reset();
     }
 }