chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
//
|
||||
// 這個檔案是 組織圖 資料表的資料存取類別 檔案二
|
||||
// 您可以修改這個檔案,加入您自訂的屬性與方法
|
||||
//
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.Data.SqlClient;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
///<summary>
|
||||
/// 組織圖 資料存取類別
|
||||
///</summary>
|
||||
public partial class DAC_組織圖 : WebLib.DAC
|
||||
{
|
||||
///<summary>
|
||||
/// InsertOne 之前會執行此方法
|
||||
/// 在這裡可以做一些檢查或是自動編號等動作
|
||||
/// 回傳 false 會打斷 InsertOne 的執行
|
||||
///</summary>
|
||||
protected virtual bool BeforeInsertOne(組織圖 value)
|
||||
{
|
||||
value.排序 = Next排序(value.組織類別ID, value.上層ID);
|
||||
return true;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// InsertOne 之後會執行此方法
|
||||
///</summary>
|
||||
protected virtual void AfterInsertOne(組織圖 value)
|
||||
{
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// InsertOne 發生錯誤時會執行此方法
|
||||
///</summary>
|
||||
protected virtual void OnInsertOneError(Exception error, out bool handled)
|
||||
{
|
||||
handled = false;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// UpdateOne 之前會執行此方法
|
||||
/// 在這裡可以做一些檢查
|
||||
/// 回傳 false 會打斷 UpdateOne 的執行
|
||||
///</summary>
|
||||
protected virtual bool BeforeUpdateOne(組織圖 value)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// UpdateOne 之後會執行此方法
|
||||
///</summary>
|
||||
protected virtual void AfterUpdateOne(組織圖 value)
|
||||
{
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// UpdateOne 發生錯誤時會執行此方法
|
||||
///</summary>
|
||||
protected virtual void OnUpdateOneError(Exception error, out bool handled)
|
||||
{
|
||||
handled = false;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// DeleteOne 之前會執行此方法
|
||||
/// 在這裡可以做一些檢查
|
||||
/// 回傳 false 會打斷 DeleteOne 的執行
|
||||
///</summary>
|
||||
protected virtual bool BeforeDeleteOne(組織圖 value)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// DeleteOne 之後會執行此方法
|
||||
///</summary>
|
||||
protected virtual void AfterDeleteOne(組織圖 value)
|
||||
{
|
||||
new DAC_組織人員(conn).Delete組織人員(value.組織ID);
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// DeleteOne 之前會執行此方法
|
||||
/// 在這裡可以做一些檢查
|
||||
/// 回傳 false 會打斷 DeleteOne 的執行
|
||||
///</summary>
|
||||
protected virtual bool BeforeDeleteOne(int 組織ID, int DB_APPNO)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// DeleteOne 之後會執行此方法
|
||||
///</summary>
|
||||
protected virtual void AfterDeleteOne(int 組織ID, int DB_APPNO)
|
||||
{
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// DeleteOne 發生錯誤時會執行此方法
|
||||
///</summary>
|
||||
protected virtual void OnDeleteOneError(Exception error, out bool handled)
|
||||
{
|
||||
handled = false;
|
||||
}
|
||||
|
||||
// 有另外加上去的屬性及方法,請加在這裡
|
||||
public int Next排序(int 組織類別ID, int 上層ID)
|
||||
{
|
||||
DbCommand cmdSelect = NewCommand();
|
||||
cmdSelect.CommandText = "SELECT ISNULL(MAX(排序), 0) + 1 "
|
||||
+ _from
|
||||
+ " WHERE 組織類別ID=@組織類別ID AND 上層ID=@上層ID";
|
||||
AddParam(cmdSelect, "組織類別ID", 組織類別ID);
|
||||
AddParam(cmdSelect, "上層ID", 上層ID);
|
||||
int i;
|
||||
ExecuteScalar(cmdSelect, out i);
|
||||
return i;
|
||||
}
|
||||
|
||||
#region 畫樹狀結構的方法
|
||||
public void DrawTree(TreeView tv, int 組織類別Id)
|
||||
{
|
||||
tv.Nodes.Clear();
|
||||
DoDrawTree(tv.Nodes, 組織類別Id, 0);
|
||||
}
|
||||
|
||||
private void DoDrawTree(TreeNodeCollection nodes, int 組織類別Id, int 上層ID)
|
||||
{
|
||||
組織圖List data = SelectOneLevel(組織類別Id, 上層ID);
|
||||
foreach (組織圖 item in data)
|
||||
{
|
||||
TreeNode newNode = new TreeNode();
|
||||
newNode.Value = item.組織ID.ToString();
|
||||
newNode.Text = item.組織名稱;
|
||||
nodes.Add(newNode);
|
||||
|
||||
DoDrawTree(newNode.ChildNodes, 組織類別Id, item.組織ID);
|
||||
}
|
||||
}
|
||||
|
||||
public 組織圖List SelectOneLevel(int 組織類別ID, int 上層ID)
|
||||
{
|
||||
組織圖List result = new 組織圖List();
|
||||
IDataList list = result as IDataList;
|
||||
DbCommand cmdSelect = NewCommand();
|
||||
cmdSelect.CommandText = _select + _from + " WHERE 組織類別ID=@組織類別ID AND 上層ID=@上層ID ORDER BY 排序";
|
||||
AddParam(cmdSelect, "組織類別ID", 組織類別ID);
|
||||
AddParam(cmdSelect, "上層ID", 上層ID);
|
||||
Select(cmdSelect, ref list);
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 調整樹狀結構的方法
|
||||
/// <summary>
|
||||
/// 移動這個節點的位置
|
||||
/// </summary>
|
||||
/// <param name="組織ID"></param>
|
||||
/// <param name="上層ID"></param>
|
||||
/// <param name="userId"></param>
|
||||
public void Update上層ID(int 組織ID, int 上層ID, string userId)
|
||||
{
|
||||
組織圖List values = SelectOne(組織ID);
|
||||
if (values.Count == 0)
|
||||
return;
|
||||
values[0].上層ID = 上層ID;
|
||||
values[0].DB_TRUSR = userId;
|
||||
UpdateOne(values[0]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新排序號
|
||||
/// </summary>
|
||||
public void Update排序(int 組織ID, int 排序, string userId)
|
||||
{
|
||||
組織圖List values = SelectOne(組織ID);
|
||||
if (values.Count == 0)
|
||||
return;
|
||||
values[0].排序 = 排序;
|
||||
values[0].DB_TRUSR = userId;
|
||||
UpdateOne(values[0]);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 取得組織名稱
|
||||
/// </summary>
|
||||
/// <param name="職務ID"></param>
|
||||
/// <returns></returns>
|
||||
public string Get組織名稱(object 組織ID)
|
||||
{
|
||||
DbCommand cmd = NewCommand("SELECT 組織名稱 FROM " + _tableName
|
||||
+ " WHERE 組織ID=@組織ID");
|
||||
AddParam(cmd, "組織ID", 組織ID);
|
||||
string s;
|
||||
ExecuteScalar(cmd, out s);
|
||||
return s;
|
||||
}
|
||||
|
||||
private void Select子樹1(int 組織類別ID, int 組織ID, ref 組織圖List list)
|
||||
{
|
||||
組織圖List sub = SelectOneLevel(組織類別ID, 組織ID);
|
||||
|
||||
foreach (組織圖 item in sub)
|
||||
{
|
||||
list.Add(item);
|
||||
Select子樹1(組織類別ID, item.組織ID, ref list);
|
||||
}
|
||||
}
|
||||
|
||||
public 組織圖List Select子樹(int 組織類別ID, int 組織ID)
|
||||
{
|
||||
組織圖List result = SelectOne(組織ID);
|
||||
if (result.Count >= 0)
|
||||
Select子樹1(組織類別ID, 組織ID, ref result);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// 組織圖 資料集合類別
|
||||
///</summary>
|
||||
public partial class 組織圖List : List<組織圖>
|
||||
{
|
||||
// 有另外加上去的屬性及方法,請加在這裡
|
||||
}
|
||||
|
||||
///<summary>
|
||||
/// 組織圖 資料紀錄類別
|
||||
///</summary>
|
||||
public partial class 組織圖
|
||||
{
|
||||
// 有另外加上去的屬性及方法,請加在這裡
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user