Esempio n. 1
0
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="password"></param>
        public void EditPassword(string password)
        {
            var sql       = $@"
UPDATE auth_user
SET password = @password
WHERE user_infoid = @id;
";
            var user      = UserIdentityUtil.GetCurrentUser();
            var paramList = new Dictionary <string, object>()
            {
                { "@id", user.Id }, { "@password", password }
            };

            Broker.Execute(sql, paramList);
        }
Esempio n. 2
0
        /// <summary>
        /// 删除用户认证信息
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="broker"></param>
        private void DeleteAuthInfo(BaseEntity entity, IPersistBroker broker)
        {
            var sql = @"
DELETE FROM auth_user WHERE user_infoid = @id
";

            broker.Execute(sql, new Dictionary <string, object>()
            {
                { "@id", entity["user_infoId"]?.ToString() }
            });
        }
        /// <summary>
        /// 执行SQL文件
        /// </summary>
        /// <param name="broker"></param>
        /// <param name="sqlFile"></param>
        /// <returns></returns>
        public static int ExecuteSqlScript(this IPersistBroker broker, string sqlFile)
        {
            int returnValue = -1;
            int sqlCount = 0, errorCount = 0;

            if (!File.Exists(sqlFile))
            {
                LogUtils.Error($"文件({sqlFile})不存在");
                return(-1);
            }
            using (StreamReader sr = new StreamReader(sqlFile))
            {
                string line = string.Empty;
                char   spaceChar = ' ';
                string newLIne = "\r\n", semicolon = ";";
                string sprit = "/", whiffletree = "-";
                string sql = string.Empty;
                do
                {
                    line = sr.ReadLine();
                    // 文件结束
                    if (line == null)
                    {
                        break;
                    }
                    // 跳过注释行
                    if (line.StartsWith(sprit) || line.StartsWith(whiffletree))
                    {
                        continue;
                    }
                    // 去除右边空格
                    line = line.TrimEnd(spaceChar);
                    sql += line;
                    // 以分号(;)结尾,则执行SQL
                    if (sql.EndsWith(semicolon))
                    {
                        try
                        {
                            sqlCount++;
                            broker.Execute(sql, null);
                        }
                        catch (Exception ex)
                        {
                            errorCount++;
                            LogUtils.Error(sql + newLIne + ex.Message, ex);
                        }
                        sql = string.Empty;
                    }
                    else
                    {
                        // 添加换行符
                        if (sql.Length > 0)
                        {
                            sql += newLIne;
                        }
                    }
                } while (true);
            }
            if (sqlCount > 0 && errorCount == 0)
            {
                returnValue = 1;
            }
            if (sqlCount == 0 && errorCount == 0)
            {
                returnValue = 0;
            }
            else if (sqlCount > errorCount && errorCount > 0)
            {
                returnValue = -1;
            }
            else if (sqlCount == errorCount)
            {
                returnValue = -2;
            }
            return(returnValue);
        }