using System; using System.Collections.Generic; using System.Web; using System.Data; using System.Data.Common; using System.ComponentModel; using WebLib; namespace 報到系統 { [DataObject] public class DAC_BPSN : DAC { public DAC_BPSN() { } public DAC_BPSN(DbConnection conn) : base(conn) { } public string Get員工姓名(object BPENO) { if (BPENO == null) BPENO = DBNull.Value; DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BPNME FROM BPSNView WHERE BPENO=@BPENO"; AddParam(cmd, "BPENO", BPENO); string result; ExecuteScalar(cmd, out result); return result; } public string Get電子郵件(object BPENO) { if (BPENO == null) BPENO = DBNull.Value; DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BPEML FROM BPSNView WHERE BPENO=@BPENO"; AddParam(cmd, "BPENO", BPENO); string result; ExecuteScalar(cmd, out result); return result; } public string Get公司電話(object BPENO) { if (BPENO == null) BPENO = DBNull.Value; DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT BPOTL FROM BPSNView WHERE BPENO=@BPENO"; AddParam(cmd, "BPENO", BPENO); string result; ExecuteScalar(cmd, out result); return result; } public bool Is群組(string BPENO, string BPGLP) { if (BPENO == null) return false; DbCommand cmd = NewCommand(); cmd.CommandText = @"SELECT COUNT(1) FROM BWEH WHERE BPENO=@BPENO AND BPGLP=@BPGLP"; AddParam(cmd, "BPENO", BPENO); AddParam(cmd, "BPGLP", BPGLP); int i; ExecuteScalar(cmd, out i); return i > 0; } public bool Is系統管理群組(string BPENO) { return Is群組(BPENO, PublicVariable.SystemManagerGroup); } public bool Is客戶管理群組(string BPENO) { return Is群組(BPENO, PublicVariable.CustomManagerGroup); } public bool Is現場工作群組(string BPENO) { return Is群組(BPENO, PublicVariable.FieldStaffGroup); } public bool Is查詢群組(string BPENO) { return Is群組(BPENO, PublicVariable.QueryGroup); } [DataObjectMethod(DataObjectMethodType.Select)] public NameValueList Select(string keyword) { if (string.IsNullOrEmpty(keyword)) return null; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = @"select BPENO as Value, BPNME as Name from BPSNView where BPEDY is null "; cmdSelect.CommandText += " and (BPENO like @BPENO or BPNME like @BPNME)"; AddParam(cmdSelect, "BPENO", $"%{keyword}%"); AddParam(cmdSelect, "BPNME", $"%{keyword}%"); cmdSelect.CommandText += " order by BPENO"; var result = new NameValueList(); var list = result as IDataList; Select(cmdSelect, ref list); return result; } /// /// 客戶端下載員工名單使用 /// /// public BPSNList SelectForClient() { DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = @"SELECT A.BPENO, A.BPNME, '' AS BPAWD, MAX(CASE WHEN B.BPGLP = 'SG01' THEN 1 ELSE 0 END) AS Is系統管理群組, MAX(CASE WHEN B.BPGLP = 'SG02' THEN 1 ELSE 0 END) AS Is客戶管理群組, MAX(CASE WHEN B.BPGLP = 'SG03' THEN 1 ELSE 0 END) AS Is現場工作群組, MAX(CASE WHEN B.BPGLP = 'SG04' THEN 1 ELSE 0 END) AS Is查詢群組 FROM BPSNView A LEFT JOIN BWEH B ON A.BPENO = B.BPENO AND B.BPGLP IN ('SG01','SG02','SG03','SG04') WHERE A.BPEDY IS NULL GROUP BY A.BPENO, A.BPNME, A.BPAWD"; var result = new BPSNList(); var list = result as IDataList; Select(cmdSelect, ref list); return result; } } [Serializable] public class BPSNList : List, IDataList { public void Fill(DbDataReader reader) { DAC.FillData(reader, this); } } [Serializable] public class BPSNItem { [DataObjectField(true, false, false)] public string BPENO { get; set; } [DataObjectField(false, false, true)] public string BPNME { get; set; } [DataObjectField(false, false, true)] public string BPAWD { get; set; } [DataObjectField(false, false, true)] public int Is系統管理群組 { get; set; } [DataObjectField(false, false, true)] public int Is客戶管理群組 { get; set; } [DataObjectField(false, false, true)] public int Is現場工作群組 { get; set; } [DataObjectField(false, false, true)] public int Is查詢群組 { get; set; } } }