コード例 #1
0
        public void UpdateClaimForUserQueryGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetUpdateQuery <UpdateClaimForUserQuery, DapperIdentityUserClaim <int> >(new DapperIdentityUserClaim <int>());

            const string expected = "UPDATE `identity`.`identityuserclaim` SET `ClaimType` = @NewClaimType, `ClaimValue` = @NewClaimValue WHERE `UserId` = @UserId AND `ClaimType` = @ClaimType AND `ClaimValue` = @ClaimValue";

            Assert.Equal(expected, generatedQuery);
        }
コード例 #2
0
        public void UpdateClaimForUserQueryGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetUpdateQuery <UpdateClaimForUserQuery, DapperIdentityUserClaim <int> >(new DapperIdentityUserClaim <int>());

            const string expected = "UPDATE [dbo].[IdentityUserClaim] SET [ClaimType] = @NewClaimType, [ClaimValue] = @NewClaimValue WHERE [UserId] = @UserId AND [ClaimType] = @ClaimType AND [ClaimValue] = @ClaimValue";

            Assert.Equal(expected, generatedQuery);
        }
コード例 #3
0
        public void UpdateClaimForUserQueryGeneratesCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetUpdateQuery <UpdateClaimForUserQuery, DapperIdentityUserClaim <int> >(new DapperIdentityUserClaim <int>());

            const string expected = "UPDATE \"dbo\".\"IdentityUserClaim\" SET \"ClaimType\" = @NewClaimType, \"ClaimValue\" = @NewClaimValue WHERE \"UserId\" = @UserId AND \"ClaimType\" = @ClaimType AND \"ClaimValue\" = @ClaimValue";

            Assert.Equal(expected, generatedQuery);
        }
コード例 #4
0
        public async Task <bool> UpdateAsync(IdentityUser user, CancellationToken cancellationToken)
        {
            try
            {
                var updateFunction = new Func <DbConnection, Task <bool> >(async x =>
                {
                    try
                    {
                        var dynamicParameters = new DynamicParameters(user);

                        var query = _queryFactory.GetUpdateQuery <UpdateUserQuery, IdentityUser>(user);

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

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

                        throw;
                    }
                });

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

                        return(await updateFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();

                    return(await updateFunction(conn));
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);

                throw;
            }
        }
コード例 #5
0
        public void UpdateRoleQueryGenerateCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetUpdateQuery <UpdateRoleQuery, CustomDapperIdentityRole>(new CustomDapperIdentityRole
            {
                Id    = 1,
                Name  = "Teste",
                Dummy = "dummy"
            });


            var expected = "UPDATE \"dbo\".\"IdentityRole\" SET \"Dummy\" = @Dummy, \"Name\" = @Name WHERE \"Id\" = @Id";

            Assert.Equal(expected, generatedQuery);
        }
コード例 #6
0
        public void UpdateRoleQueryGenerateCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetUpdateQuery <UpdateRoleQuery, CustomDapperIdentityRole>(new CustomDapperIdentityRole
            {
                Id    = 1,
                Name  = "Teste",
                Dummy = "dummy"
            });


            const string expected = "UPDATE [dbo].[IdentityRole] SET [Dummy] = @Dummy, [Name] = @Name WHERE [Id] = @Id";

            Assert.Equal(expected, generatedQuery);
        }
コード例 #7
0
        public void UpdateRoleQueryGenerateCorrectQuery()
        {
            var generatedQuery = _queryFactory.GetUpdateQuery <UpdateRoleQuery, CustomDapperIdentityRole>(new CustomDapperIdentityRole
            {
                Id    = 1,
                Name  = "Teste",
                Dummy = "dummy"
            });


            const string expected = "UPDATE `identity`.`identityrole` SET `Dummy` = @Dummy, `Name` = @Name WHERE `Id` = @Id";

            Assert.Equal(expected, generatedQuery);
        }
コード例 #8
0
ファイル: RepositoryBase.cs プロジェクト: Resgrid/Core
        public virtual async Task <T> UpdateAsync(T entity, CancellationToken cancellationToken, bool firstLevelOnly = false)
        {
            try
            {
                var updateFunction = new Func <DbConnection, Task <T> >(async x =>
                {
                    var dynamicParameters = new DynamicParameters(entity);

                    var query = _queryFactory.GetUpdateQuery <UpdateQuery, T>(entity);

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

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

                    return(entity);
                });

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

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

                throw;
            }
        }
コード例 #9
0
        public async Task <bool> UpdateFillStatusAsync(int fillId, string userId, bool accepted, CancellationToken cancellationToken)
        {
            try
            {
                var updateFunction = new Func <DbConnection, Task <bool> >(async x =>
                {
                    var dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("Accepted", accepted);
                    dynamicParameters.Add("AcceptedUserId", userId);
                    dynamicParameters.Add("AcceptedOn", DateTime.UtcNow);
                    dynamicParameters.Add("ResourceOrderFillId", fillId);

                    var entity = new ResourceOrderFill();
                    var query  = _queryFactory.GetUpdateQuery <UpdateOrderFillStatusQuery, ResourceOrderFill>(entity);

                    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 updateFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();
                    return(await updateFunction(conn));
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);

                throw;
            }
        }
コード例 #10
0
        public async Task <bool> Update(TRole role, CancellationToken cancellationToken)
        {
            try
            {
                var updateFunction = new Func <DbConnection, Task <bool> >(async x =>
                {
                    var dynamicParameters = new DynamicParameters(role);

                    var query = _queryFactory.GetUpdateQuery <UpdateRoleQuery, 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 updateFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();
                    return(await updateFunction(conn));
                }
            }
            catch (Exception ex)
            {
                _log.LogError(ex, ex.Message);

                throw;
            }
        }