public static bool LoadOrgan(Util_OrganDataBean model, out List <Util_OrganDataBean> datas, out string msg) { bool result = false; msg = ""; datas = new List <Util_OrganDataBean>(); try { using (var conn = new SqlConnection() { ConnectionString = DbHelper.getConnectionStrings(_eHRMSDB_ITRD).ConnectionString }) { try { datas = conn.Query <Util_OrganDataBean>(LoadOrganSQL(model), model).ToList(); } catch (Exception) { throw; } } result = true; } catch (Exception ex) { msg = ex.Message; } return(result); }
public static string LoadOrganSQL(Util_OrganDataBean model) { StringBuilder sb = new StringBuilder(); sb.AppendLine("select DISTINCT C.CompID,C.CompID+'-'+C.CompName as CompName "); sb.AppendLine(",O.OrganID,O.OrganID+'-'+Org.OrganName as OrganName "); sb.AppendLine(",O.DeptID,O.DeptID+'-'+Dpt.OrganName as DeptName "); sb.AppendLine("from dbo.Company C "); sb.AppendLine("left join dbo.Organization O on O.CompID=C.CompID "); sb.AppendLine("left join dbo.Organization Dpt on O.CompID=Dpt.CompID and O.DeptID=Dpt.OrganID"); sb.AppendLine("left join dbo.Organization Org on O.CompID=Org.CompID and O.OrganID=Org.OrganID "); sb.AppendLine("where O.InValidFlag='0' and O.VirtualFlag='0' "); return(sb.ToString()); }
private void DDLChanged(string e) { var isSuccess = false; var msg = ""; var OrganData = new Util_OrganDataBean(); var EmpDataLists = new List <Util_EmpDataBean>(); var EmpData = new Util_EmpDataBean(); EmpData.outEmpID = _outEmpID; switch (e) { case "": DDLClear(e); isSuccess = LoadOrgan(OrganData, out OrganDataTemp, out msg); if (isSuccess && OrganDataTemp != null && OrganDataTemp.Count > 0) { ddlEmpCompID.DataSource = OrganDataTemp .Select(x => new { x.CompID, x.CompName }).Distinct().ToList(); ddlEmpCompID.DataTextField = "CompName"; ddlEmpCompID.DataValueField = "CompID"; ddlEmpCompID.DataBind(); ddlEmpCompID.Items.Insert(0, new ListItem("---請選擇---", "")); SetSelectedIndex(ddlEmpCompID, _CompID); } break; case "CompID": ddlEmpOrganID.DataSource = OrganDataTemp .Where(x => x.CompID == ddlEmpCompID.SelectedValue) .Select(x => new { x.OrganID, x.OrganName }).Distinct().ToList(); ddlEmpOrganID.DataTextField = "OrganName"; ddlEmpOrganID.DataValueField = "OrganID"; ddlEmpOrganID.DataBind(); ddlEmpOrganID.Items.Insert(0, new ListItem("---請選擇---", "")); SetSelectedIndex(ddlEmpOrganID, _OrganID); break; case "OrganID": //撈取DDLEmpID的內容---------------- EmpData.CompID = ddlEmpCompID.SelectedValue; EmpData.OrganID = ddlEmpOrganID.SelectedValue; isSuccess = LoadEmp(EmpData, out EmpDataTemp, out msg); if (isSuccess && EmpDataTemp != null && EmpDataTemp.Count > 0) { ddlEmpID.DataSource = EmpDataTemp.Select(x => new { x.EmpID, x.ddlEmpName }).Distinct().ToList(); ddlEmpID.DataTextField = "ddlEmpName"; ddlEmpID.DataValueField = "EmpID"; ddlEmpID.DataBind(); ddlEmpID.Items.Insert(0, new ListItem("---請選擇---", "")); } break; case "EmpID": if (EmpDataTemp != null && EmpDataTemp.Count > 0) { var EmpTemp = EmpDataTemp.Find(x => x.EmpID.Contains(ddlEmpID.SelectedValue)); Dictionary <string, string> dctEmpData = new Dictionary <string, string>(); dctEmpData.Add("CompID", EmpTemp.CompID); dctEmpData.Add("CompName", EmpTemp.CompName); dctEmpData.Add("EmpID", EmpTemp.EmpID); dctEmpData.Add("EmpNameN", EmpTemp.EmpNameN); dctEmpData.Add("DeptID", EmpTemp.DeptID); dctEmpData.Add("DeptName", EmpTemp.DeptName); dctEmpData.Add("OrganID", EmpTemp.OrganID); dctEmpData.Add("OrganName", EmpTemp.OrganName); dctEmpData.Add("WorkTypeID", EmpTemp.WorkTypeID); dctEmpData.Add("WorkType", EmpTemp.WorkType); dctEmpData.Add("PositionID", EmpTemp.PositionID); dctEmpData.Add("Position", EmpTemp.Position); dctEmpData.Add("FlowOrganID", EmpTemp.FlowOrganID); dctEmpData.Add("FlowOrganName", EmpTemp.FlowOrganName); dctEmpData.Add("TitleID", EmpTemp.TitleID); dctEmpData.Add("TitleName", EmpTemp.TitleName); ViewState[ModalPopupClientID + "_Data"] = dctEmpData; } break; } }