chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
@@ -0,0 +1,215 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Common;
using Wellan.Common;
namespace Education
{
/// <summary>
/// 員工群組
/// </summary>
public class BWEH_DAC : DAC
{
DbCommand cmdInsert = null;
DbCommand cmdDelete = null;
public BWEH_DAC()
{
}
public BWEH_DAC(string connectionConfig, string connectionConfigName)
: base(connectionConfig, connectionConfigName)
{
}
private void PrepareSql()
{
EnsureQuery();
if (cmdInsert == null)
{
cmdInsert = Query.NewCommand("INSERT INTO " + WGuard1.WCFA("BWEH") + " (BPGLP, BPENO) VALUES (@BPGLP, @BPENO)");
cmdInsert.Parameters.Add(Query.NewParameter("BPGLP", DbType.String));
cmdInsert.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
}
if (cmdDelete == null)
{
cmdDelete = Query.NewCommand("DELETE FROM " + WGuard1.WCFA("BWEH") + " WHERE BPGLP=@BPGLP AND BPENO=@BPENO");
cmdDelete.Parameters.Add(Query.NewParameter("BPGLP", DbType.String));
cmdDelete.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
}
}
public void SelectByBpglp(string bpglp, out DataTable inGroup, out DataTable outGroup)
{
PrepareSql();
inGroup = Query.Select(
"SELECT E.BPENO AS BPENO, E.BPNME AS BPNME "
+ " FROM " + WGuard1.WCFA("BPSN") + " E," + WGuard1.WCFA("BWEH") + " G"
+ " WHERE G.BPENO=E.BPENO AND G.BPGLP='" + bpglp +"' "
+ " AND E.BPEDY IS NULL "
+ " ORDER BY E.BPENO ");
outGroup = Query.Select(
"SELECT BPENO, BPNME FROM " + WGuard1.WCFA("BPSN")
+ " WHERE BPENO<>'  ' "
+ " AND BPEDY IS NULL "
+ " AND BPENO NOT IN (SELECT E.BPENO AS BPENO "
+ " FROM " + WGuard1.WCFA("BPSN") + " E," + WGuard1.WCFA("BWEH") + " G"
+ " WHERE G.BPENO=E.BPENO AND G.BPGLP='" + bpglp + "' "
+ " AND E.BPEDY IS NULL ) "
+ " ORDER BY BPENO");
}
public string[] GetBpenoListByBpglp(string bpglp)
{
PrepareSql();
DataTable inGroup = Query.Select(
"SELECT E.BPENO AS BPENO "
+ " FROM " + WGuard1.WCFA("BPSN") + " E," + WGuard1.WCFA("BWEH") + " G"
+ " WHERE G.BPENO=E.BPENO AND G.BPGLP='" + bpglp + "' "
+ " AND E.BPEDY IS NULL "
+ " ORDER BY E.BPENO ");
if (inGroup.Rows.Count == 0)
return new string[0];
else
{
string[] result = new string[inGroup.Rows.Count];
for (int i = 0; i < inGroup.Rows.Count; i++)
{
result[i] = inGroup.Rows[i][0].ToString();
}
return result;
}
}
public void UpdateByBpglp(string bpglp, DataTable updateTable)
{
PrepareSql();
DbConnection conn = Query.NewConnection();
cmdDelete.Connection = conn;
cmdInsert.Connection = conn;
conn.Open();
DbTransaction tran = conn.BeginTransaction();
cmdDelete.Transaction = tran;
cmdInsert.Transaction = tran;
try
{
foreach (DataRow row in updateTable.Rows)
{
if (row.RowState == DataRowState.Added)
{
cmdInsert.Parameters["BPGLP"].Value = bpglp;
cmdInsert.Parameters["BPENO"].Value = row["BPENO", DataRowVersion.Current];
cmdInsert.ExecuteNonQuery();
}
if (row.RowState == DataRowState.Deleted)
{
cmdDelete.Parameters["BPGLP"].Value = bpglp;
cmdDelete.Parameters["BPENO"].Value = row["BPENO", DataRowVersion.Original];
cmdDelete.ExecuteNonQuery();
}
}
tran.Commit();
updateTable.AcceptChanges();
}
catch
{
tran.Rollback();
}
finally
{
conn.Close();
cmdInsert.Dispose();
cmdDelete.Dispose();
}
}
public void SelectByBpeno(string bpeno, out DataTable inGroup, out DataTable outGroup)
{
PrepareSql();
inGroup = Query.Select(
"SELECT E.BPGLP AS BPGLP, E.BPDSP AS BPDSP "
+ " FROM " + WGuard1.WCFA("BWEG") + " E," + WGuard1.WCFA("BWEH") + " G"
+ " WHERE E.BPGLP=G.BPGLP AND G.BPENO='" + bpeno + "' "
+ " ORDER BY E.BPGLP ");
outGroup = Query.Select(
"SELECT BPGLP, BPDSP FROM " + WGuard1.WCFA("BWEG")
+ " WHERE BPGLP NOT IN (SELECT BPGLP FROM " + WGuard1.WCFA("BWEH") + " WHERE BPENO='" + bpeno + "')"
+ " ORDER BY BPGLP");
}
public string[] GetBpglpListByBpeno(string bpeno)
{
PrepareSql();
DataTable inGroup = Query.Select(
"SELECT E.BPGLP AS BPGLP "
+ " FROM " + WGuard1.WCFA("BWEG") + " E," + WGuard1.WCFA("BWEH") + " G"
+ " WHERE E.BPGLP=G.BPGLP AND G.BPENO='" + bpeno + "' "
+ " ORDER BY E.BPGLP ");
if (inGroup.Rows.Count == 0)
return new string[0];
else
{
string[] result = new string[inGroup.Rows.Count];
for (int i = 0; i < inGroup.Rows.Count; i++)
{
result[i] = inGroup.Rows[i][0].ToString();
}
return result;
}
}
public void UpdateByBpeno(string bpeno, DataTable updateTable)
{
PrepareSql();
DbConnection conn = Query.NewConnection();
cmdDelete.Connection = conn;
cmdInsert.Connection = conn;
conn.Open();
DbTransaction tran = conn.BeginTransaction();
cmdDelete.Transaction = tran;
cmdInsert.Transaction = tran;
try
{
foreach (DataRow row in updateTable.Rows)
{
if (row.RowState == DataRowState.Added)
{
cmdInsert.Parameters["BPENO"].Value = bpeno;
cmdInsert.Parameters["BPGLP"].Value = row["BPGLP", DataRowVersion.Current];
cmdInsert.ExecuteNonQuery();
}
if (row.RowState == DataRowState.Deleted)
{
cmdDelete.Parameters["BPENO"].Value = bpeno;
cmdDelete.Parameters["BPGLP"].Value = row["BPGLP", DataRowVersion.Original];
cmdDelete.ExecuteNonQuery();
}
}
tran.Commit();
updateTable.AcceptChanges();
}
catch
{
tran.Rollback();
}
finally
{
conn.Close();
cmdDelete.Dispose();
cmdInsert.Dispose();
}
}
}
}