public void InsertRoleQueryWithoutIdGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetInsertQuery <InsertRoleQuery, CustomDapperIdentityRole>(new CustomDapperIdentityRole());
            var expected       = "INSERT INTO \"dbo\".\"IdentityRole\" (\"Dummy\", \"Name\") VALUES(@Dummy, @Name)";

            Assert.Equal(expected, generatedQuery);
        }
        public void InsertRoleQueryWithoutIdGeneratesCorrectQuery()
        {
            var          generatedQuery = _queryFactory.GetInsertQuery <InsertRoleQuery, CustomDapperIdentityRole>(new CustomDapperIdentityRole());
            const string expected       = "INSERT INTO [dbo].[IdentityRole] ([Dummy], [Name]) VALUES(@Dummy, @Name)";

            Assert.Equal(expected, generatedQuery);
        }
示例#3
0
        public void InsertRoleQueryWithoutIdGeneratesCorrectQuery()
        {
            var          generatedQuery = _queryFactory.GetInsertQuery <InsertRoleQuery, CustomDapperIdentityRole>(new CustomDapperIdentityRole());
            const string expected       = @"INSERT INTO `identity`.`identityrole` (`Dummy`, `Name`) VALUES(@Dummy, @Name)";

            Assert.Equal(expected, generatedQuery);
        }
示例#4
0
        public async Task <string> InsertAsync(IdentityUser user, CancellationToken cancellationToken)
        {
            try
            {
                var insertFunction = new Func <DbConnection, Task <string> >(async x =>
                {
                    try
                    {
                        var dynamicParameters = new DynamicParameters(user);

                        var query = _queryFactory.GetInsertQuery <InsertUserQuery, IdentityUser>(user);

                        var result = await x.ExecuteScalarAsync <string>(query, dynamicParameters, _unitOfWork.Transaction);

                        return(result);
                    }
                    catch (Exception ex)
                    {
                        Logging.LogException(ex);

                        throw;
                    }
                });

                DbConnection conn = null;
                if (_unitOfWork?.Connection == null)
                {
                    using (conn = _connectionProvider.Create())
                    {
                        await conn.OpenAsync(cancellationToken);

                        return(await insertFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();
                    return(await insertFunction(conn));
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);

                throw;
            }
        }
        public void InsertUserClaimQueryGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetInsertQuery <InsertUserClaimQuery, DapperIdentityUserClaim <int> >(new DapperIdentityUserClaim <int>());

            const string expected = "INSERT INTO `identity`.`identityuserclaim` (`ClaimType`, `ClaimValue`, `UserId`) VALUES(@ClaimType, @ClaimValue, @UserId)";

            Assert.Equal(expected, generatedQuery);
        }
        public void InsertUserClaimQueryGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetInsertQuery <InsertUserClaimQuery, DapperIdentityUserClaim <int> >(new DapperIdentityUserClaim <int>());

            const string expected = "INSERT INTO \"dbo\".\"IdentityUserClaim\" (\"ClaimType\", \"ClaimValue\", \"UserId\") VALUES(@ClaimType, @ClaimValue, @UserId)";

            Assert.Equal(expected, generatedQuery);
        }
        public void InsertUserClaimQueryGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetInsertQuery <InsertUserClaimQuery, DapperIdentityUserClaim <int> >(new DapperIdentityUserClaim <int>());

            const string expected = "INSERT INTO [dbo].[IdentityUserClaim] ([ClaimType], [ClaimValue], [UserId]) VALUES(@ClaimType, @ClaimValue, @UserId)";

            Assert.Equal(expected, generatedQuery);
        }
示例#8
0
        public async Task <bool> InsertAsync(TRole role, CancellationToken cancellationToken)
        {
            try
            {
                var insertFunction = new Func <DbConnection, Task <bool> >(async x =>
                {
                    var dynamicParameters = new DynamicParameters(role);

                    var query = _queryFactory.GetInsertQuery <InsertRoleQuery, TRole>(role);

                    var result = await x.ExecuteAsync(query, dynamicParameters, _unitOfWork.Transaction);

                    return(result > 0);
                });

                DbConnection conn = null;
                if (_unitOfWork?.Connection == null)
                {
                    using (conn = _connectionProvider.Create())
                    {
                        await conn.OpenAsync(cancellationToken);

                        return(await insertFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();
                    return(await insertFunction(conn));
                }
            }
            catch (Exception ex)
            {
                _log.LogError(ex, ex.Message);

                throw;
            }
        }
示例#9
0
        public virtual async Task <T> InsertAsync(T entity, CancellationToken cancellationToken, bool firstLevelOnly = false)
        {
            try
            {
                var insertFunction = new Func <DbConnection, Task <T> >(async x =>
                {
                    var dynamicParameters = new DynamicParameters(entity);

                    var query = _queryFactory.GetInsertQuery <InsertQuery, T>(entity);

                    var result = await x.QuerySingleAsync <int>(query, dynamicParameters, _unitOfWork.Transaction);

                    ((IEntity)entity).IdValue = result;

                    if (!firstLevelOnly)
                    {
                        await HandleChildObjects(entity, cancellationToken);
                    }

                    return(entity);
                });

                DbConnection conn = null;
                if (_unitOfWork?.Connection == null)
                {
                    using (conn = _connectionProvider.Create())
                    {
                        await conn.OpenAsync(cancellationToken);

                        return(await insertFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();
                    return(await insertFunction(conn));
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);

                throw;
            }
        }