添加项目文件。
This commit is contained in:
56
HT.Cloud.Data/Extensions/DbHelper.cs
Normal file
56
HT.Cloud.Data/Extensions/DbHelper.cs
Normal file
@ -0,0 +1,56 @@
|
||||
/*******************************************************************************
|
||||
* Copyright © 2020 HT.Cloud.Framework 版权所有
|
||||
* Author: HT.Cloud
|
||||
* Description: WaterCloud快速开发平台
|
||||
* Website:
|
||||
*********************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.Data.SqlClient;
|
||||
using HT.Cloud.Code;
|
||||
|
||||
namespace HT.Cloud.DataBase.Extensions
|
||||
{
|
||||
public class DbHelper
|
||||
{
|
||||
private static string connstring = GlobalContext.SystemConfig.DBConnectionString;
|
||||
private static string dbType = GlobalContext.SystemConfig.DBProvider;
|
||||
|
||||
public static int ExecuteSqlCommand(string database, string backupPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
string backupFile = string.Format("{0}\\{1}_{2}.bak", backupPath, database, DateTime.Now.ToString("yyyyMMddHHmmss"));
|
||||
using (DbConnection conn = new SqlConnection(connstring))
|
||||
{
|
||||
string strSql = string.Format(" backup database [{0}] to disk = '{1}'", database, backupFile);
|
||||
DbCommand cmd = new SqlCommand();
|
||||
PrepareCommand(cmd, conn, null, CommandType.Text, strSql, null);
|
||||
return cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteWithTime(ex);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
private static void PrepareCommand(DbCommand cmd, DbConnection conn, DbTransaction isOpenTrans, CommandType cmdType, string cmdText, DbParameter[] cmdParms)
|
||||
{
|
||||
if (conn.State != ConnectionState.Open)
|
||||
conn.Open();
|
||||
cmd.Connection = conn;
|
||||
cmd.CommandText = cmdText;
|
||||
if (isOpenTrans != null)
|
||||
cmd.Transaction = isOpenTrans;
|
||||
cmd.CommandType = cmdType;
|
||||
if (cmdParms != null)
|
||||
{
|
||||
cmd.Parameters.AddRange(cmdParms);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
59
HT.Cloud.Data/Extensions/SqlSugarExtensions.cs
Normal file
59
HT.Cloud.Data/Extensions/SqlSugarExtensions.cs
Normal file
@ -0,0 +1,59 @@
|
||||
/*******************************************************************************
|
||||
* Copyright © 2020 HT.Cloud.Framework 版权所有
|
||||
* Author: HT.Cloud
|
||||
* Description: WaterCloud快速开发平台
|
||||
* Website:
|
||||
*********************************************************************************/
|
||||
|
||||
using SqlSugar;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using HT.Cloud.Code;
|
||||
|
||||
namespace HT.Cloud.DataBase
|
||||
{
|
||||
/// <summary>
|
||||
/// sqlsugar相关扩展
|
||||
/// </summary>
|
||||
public static class SqlSugarExtensions
|
||||
{
|
||||
public static async Task<List<T>> ToPageListAsync<T>(this ISugarQueryable<T> query, SoulPage<T> pagination)
|
||||
{
|
||||
var tempData = query;
|
||||
List<FilterSo> filterSos = pagination.getFilterSos();
|
||||
if (filterSos != null && filterSos.Count > 0)
|
||||
{
|
||||
tempData = tempData.GenerateFilter("a", filterSos);
|
||||
}
|
||||
if (pagination.order == "desc")
|
||||
{
|
||||
tempData = tempData.OrderBy(pagination.field + " " + pagination.order);
|
||||
}
|
||||
else
|
||||
{
|
||||
tempData = tempData.OrderBy(pagination.field);
|
||||
}
|
||||
RefAsync<int> totalCount = 0;
|
||||
var data = await tempData.ToPageListAsync(pagination.page, pagination.rows, totalCount);
|
||||
pagination.count = totalCount;
|
||||
return data;
|
||||
}
|
||||
|
||||
public static async Task<List<T>> ToPageListAsync<T>(this ISugarQueryable<T> query, Pagination pagination)
|
||||
{
|
||||
var tempData = query;
|
||||
RefAsync<int> totalCount = 0;
|
||||
if (pagination.order == "desc")
|
||||
{
|
||||
tempData = tempData.OrderBy(pagination.field + " " + pagination.order);
|
||||
}
|
||||
else
|
||||
{
|
||||
tempData = tempData.OrderBy(pagination.field);
|
||||
}
|
||||
var data = await tempData.ToPageListAsync(pagination.page, pagination.rows, totalCount);
|
||||
pagination.records = totalCount;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user