using ICSSoft.Common;
using ICSSoft.Entity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
namespace ICSSoft.DataProject
{
public class HelpUtil
{
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private static string connString = System.Configuration.ConfigurationManager.AppSettings["ConnStr"];
///
/// 删除单据
///
///
///
public static void CodeDelete(string TableName, string CodeColumnName, string Code, string User, string WorkPoint)
{
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand();
cmd.Transaction = sqlTran;
cmd.Connection = conn;
try
{
string sql = string.Empty;
string TransType = string.Empty;
string Identification = Guid.NewGuid().ToString();
sql = $@"DELETE FROM {TableName} WHERE {CodeColumnName}=@Code AND WorkPoint=@WorkPoint ";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Code", Code);
cmd.Parameters.AddWithValue("@WorkPoint", WorkPoint);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
//throw new Exception("");
return;
}
cmd.Transaction.Commit();
log.Debug(User + " 删除 " + TableName + ": " + Code);
}
catch (Exception ex)
{
if (cmd.Transaction != null)
cmd.Transaction.Rollback();
log.Error(ex.Message);
throw new Exception(ex.Message);
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
conn.Dispose();
}
}
}
///
/// 关闭单据
///
///
///
///
///
///
public static void CodeClose(string TableName, string CodeColumnName, string Code, string StatusColumnName, string CodeStatus, string User, string WorkPoint)
{
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand();
cmd.Transaction = sqlTran;
cmd.Connection = conn;
try
{
string sql = string.Empty;
string TransType = string.Empty;
string Identification = Guid.NewGuid().ToString();
sql = $@"UPDATE {TableName} SET {StatusColumnName}=@CodeStatus
WHERE {CodeColumnName}=@Code AND WorkPoint=@WorkPoint";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@CodeStatus", CodeStatus);
cmd.Parameters.AddWithValue("@Code", Code);
cmd.Parameters.AddWithValue("@WorkPoint", WorkPoint);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
//throw new Exception("");
return;
}
cmd.Transaction.Commit();
log.Debug(User + " 关闭 " + TableName + ": " + Code);
}
catch (Exception ex)
{
if (cmd.Transaction != null)
cmd.Transaction.Rollback();
log.Error(ex.Message);
throw new Exception(ex.Message);
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
conn.Dispose();
}
}
}
}
}