/// <summary> /// 檢查個案戶籍是否為組織管轄內 /// </summary> /// <param name="OrgID"></param> /// <param name="CaseID"></param> /// <returns>true false</returns> public static bool IsCaseInOrgRegion(int OrgID, int CaseID) { CaseUserProfile c = new CaseUserProfile(CaseID); SystemOrgVM OrgVM = SystemOrg.GetVM(OrgID); if (OrgVM.OrgLevel == 4) //衛生所 { List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID); if (RegionList.Find(r => r.RegionID == Convert.ToInt32(c.RegionID)) != null) { return(true); } } else if (OrgVM.OrgLevel == 3 || OrgVM.OrgLevel == 2) //衛生局 管制中心 { List <SystemOrgRegionCountyVM> CountyList = GetOrgRegionCounty(OrgID); if (CountyList.Find(rc => rc.CountyID == Convert.ToInt32(c.ResCounty)) != null) { return(true); } } else if (OrgVM.OrgLevel == 1) //CDC { return(true); } return(false); }
/// <summary> /// 檢查縣市鄉鎮是否為組織管轄內 /// </summary> /// <param name="OrgID">組織</param> /// <param name="CountyID"></param> /// <param name="TownID"></param> /// <param name="VillageID"></param> /// <returns>true false</returns> public static bool IsInOrgRegion(int OrgID, int CountyID, int TownID, int VillageID) { SystemOrgVM OrgVM = SystemOrg.GetVM(OrgID); if (OrgVM.OrgLevel == 4) //衛生所 { List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID); foreach (SystemOrgRegionVM r in RegionList) { List <SystemRegionSettingVM> sl = GetOrgRegionSetting(r.RegionID); SystemRegionSettingVM rs = sl.Find(s => (s.CountyID == CountyID) && (s.TownID == TownID) && (s.VillageID == VillageID)); if (rs != null) { return(true); } } } else if (OrgVM.OrgLevel == 3 || OrgVM.OrgLevel == 2) //衛生局 管制中心 { List <SystemOrgRegionCountyVM> CountyList = GetOrgRegionCounty(OrgID); if (CountyList.Find(rc => rc.CountyID == CountyID) != null) { return(true); } } else if (OrgVM.OrgLevel == 1) //CDC { return(true); } return(false); }
protected void Page_Load(object sender, EventArgs e) { // base.DisableTop(true); Session["NewCaseContacts"] = null; //清空 //SystemCode.Update(); //SystemOrgRegion.IsCaseInOrgRegion(AuthServer.GetLoginUser().OrgID, CaseID); if (!Page.IsPostBack) { Session["UserProfileCaseID"] = CaseID; if (CaseID > 0) { ucCaseRemark1.CaseID = CaseID; BindData(); //SystemOrgRegion.Update(); //if (SystemOrgRegion.IsCaseInOrgRegion(AuthServer.GetLoginUser().OrgID, CaseID)) //{ // Response.Write ("在轄區內") ; //}else // Response.Write("不在轄區內"); } } else { if (Session["UserProfileCaseID"] != null) { int.TryParse(Session["UserProfileCaseID"].ToString(), out CaseID); } } if (CaseID == 0) { btnAdd.Visible = true; TabDIV.Visible = false; } else { DivAgeTip.Visible = true; TabModifyLog.Visible = true; int OrgLevel = SystemOrg.GetVM(AuthServer.GetLoginUser().OrgID).OrgLevel; if (OrgLevel == 1) {//CDC btnSave.Visible = true; } else if (OrgLevel == 4) { //衛生所 btnCheck.Visible = true; } } }
protected new void Page_Load(object sender, EventArgs e) { base.AllowHttpMethod("POST"); if (Request.HttpMethod.Equals("POST")) { PageUrl = QueryStringEncryptToolS.Decrypt(GetString("p")); EncryptPageUrl = QueryStringEncryptToolS.Encrypt(PageUrl); HasViewPower = CheckPower(PageUrl, MyPowerEnum.瀏覽); if (HasViewPower == false) { throw new HttpException(404, "Not found"); } HasSearchPower = CheckPower(PageUrl, MyPowerEnum.查詢); var all = SystemOrg.list; int minValue = 0; int maxValue = 0; if (all.Count > 0) { minValue = all[0].PID; maxValue = all[all.Count - 1].PID; } IEnumerable <SystemOrgVM> conditionList = new List <SystemOrgVM>() { SystemOrg.GetVM(AuthServer.GetLoginUser().OrgID) }; IEnumerable <SystemOrgVM> queryList = new List <SystemOrgVM>(); List <SystemOrgVM> FinalList = new List <SystemOrgVM>() { SystemOrg.GetVM(AuthServer.GetLoginUser().OrgID) }; do { queryList = GetChild(all, conditionList, minValue, maxValue); FinalList.AddRange(queryList); conditionList = queryList; } while (queryList.Count() > 0); MyTreeData = JsonConvert.SerializeObject(FinalList); } else { Response.Write(""); Response.End(); } }
protected void Page_Load(object sender, EventArgs e) { UserVM user = AuthServer.GetLoginUser(); MyLevel = SystemOrg.GetVM(user.OrgID).OrgLevel; DataTable dt = new DataTable(); using (SqlConnection sc = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnUser"].ToString())) { using (SqlCommand cmd = new SqlCommand("dbo.usp_PowerM_xGetOrgByOrgID", sc)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@OrgID", user.OrgID); using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { sc.Open(); da.Fill(dt); } } } List <SystemOrgVM> list = new List <SystemOrgVM>(); EntityS.FillModel(list, dt); if (Convert.ToInt32(WebConfigurationManager.AppSettings["OrgAreaSet"]) == 0) { OrgArea = false; list.RemoveAll(item => item.OrgLevel == 2); for (var i = 0; i < list.Count; i++) { if (list[i].OrgLevel == 3) { list[i].PID = 1; } } } MyTreeData = JsonConvert.SerializeObject(list.Where(item => item.OrgCateID == Convert.ToInt32(WebConfigurationManager.AppSettings["OrgCateID"]))); }
/// <summary> /// 轄區所屬Village /// </summary> /// <param name="OrgID"></param> /// <param name="TownID"></param> /// <returns></returns> public static List <SystemAreaCodeVM> GetRegionVillageList(int OrgID, int TownID) { SystemOrgVM OrgVM = SystemOrg.GetVM(OrgID); List <SystemAreaCodeVM> list = SystemAreaCode.GetVillageList(TownID); if (OrgVM.OrgLevel == 4) //衛生所 { List <int> RegionVillageIDs = new List <int>(); List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID); foreach (SystemOrgRegionVM r in RegionList) { if (SystemOrgRegion.dictRegionSetting.ContainsKey(r.RegionID)) { RegionVillageIDs.AddRange(dictRegionSetting[r.RegionID].Select(l => l.VillageID).Distinct()); } } list = list.Where(ac => RegionVillageIDs.Contains(ac.ID)).ToList(); } return(list); }
/// <summary> /// 轄區所屬County /// </summary> /// <param name="OrgID"></param> /// <returns></returns> public static List <SystemAreaCodeVM> GetRegionCountyList(int OrgID) { List <SystemAreaCodeVM> list = SystemAreaCode.GetCountyList(); SystemOrgVM OrgVM = SystemOrg.GetVM(OrgID); //判斷是哪種level if (OrgVM.OrgLevel == 4) //衛生所 { List <int> RegionCountyIDs = new List <int>(); List <SystemOrgRegionVM> RegionList = GetOrgRegion(OrgID); foreach (SystemOrgRegionVM r in RegionList) { List <SystemRegionSettingVM> SettingList = GetOrgRegionSetting(r.RegionID); foreach (SystemRegionSettingVM s in SettingList) { RegionCountyIDs.Add(s.CountyID); } } list = list.Where(ac => RegionCountyIDs.Contains(ac.ID)).ToList(); } else if (OrgVM.OrgLevel == 3 || OrgVM.OrgLevel == 2) //衛生局 管制中心 { List <SystemOrgRegionCountyVM> CountyList = GetOrgRegionCounty(OrgID); List <int> RegionCountyIDs = new List <int>(); foreach (SystemOrgRegionCountyVM rc in CountyList) { RegionCountyIDs.Add(rc.CountyID); } list = list.Where(ac => RegionCountyIDs.Contains(ac.ID)).ToList(); } //level 1全部 return(list); }
protected void btnLogin_Click(object sender, EventArgs e) { string script = ""; string txtUser = tbUser.Text.Trim(); string txtPassword = tbPassword.Text.Trim(); string txtCode = tbCode.Text.ToLower().Trim(); int UserCount = 0; DataTable dt = new DataTable(); if (SessionS.GetSessionValue("CheckCode") == null || SessionS.GetSessionValue("CheckCode").ToString().Equals(txtCode) == false) { tbCode.Text = ""; script = "<script>alert('驗證碼錯誤');</script>"; Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "alert", script, false); return; } EncryptT enc = new EncryptT(); using (SqlConnection sc = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnUser"].ToString())) { using (SqlCommand cmd = new SqlCommand("dbo.usp_SystemM_xCheckLogin", sc)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@LoginName", txtUser); cmd.Parameters.AddWithValue("@LoginPassword", enc.ToSHA256(txtPassword)); cmd.Parameters.AddWithValue("@FunctionIndex", Convert.ToInt32(WebConfigurationManager.AppSettings["SystemFunctionIndex"])); SqlParameter sp = cmd.Parameters.AddWithValue("@UserCount", UserCount); sp.Direction = ParameterDirection.Output; sc.Open(); cmd.ExecuteNonQuery(); UserCount = (int)sp.Value; } } if (UserCount > 0) { using (SqlConnection sc = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnUser"].ToString())) { using (SqlCommand cmd = new SqlCommand("dbo.usp_SystemM_xGetUserByLoginName", sc)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@LoginName", txtUser); using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { sc.Open(); da.Fill(dt); } } } UserVM user = new UserVM(); EntityS.FillModel <UserVM>(user, dt); //user.LoginDate = DateTime.Now; var org = SystemOrg.GetVM(user.OrgID); var clientIP = IpAddressS.GetIP(); IpT ipt = new IpT(clientIP); NameValueCollection rRequest = Request.ServerVariables; bool yesOrNo = false; if (clientIP != null && org != null) { if (clientIP.Equals("::1") || clientIP.Equals("127.0.0.1") || string.IsNullOrEmpty(org.IpStart) || string.IsNullOrEmpty(org.IpEnd) || org.IpStart.Equals("0.0.0.0") && org.IpEnd.Equals("0.0.0.0")) { yesOrNo = true; } else { yesOrNo = ipt.CheckInNowWifi(string.Format("{0}-{1}", org.IpStart, org.IpEnd)); } } else if (user.OrgID == 1) { yesOrNo = true; } else if (org == null) { script = "<script>alert('無權限登入');</script>"; Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "alert", script, false); return; } if (yesOrNo == false) { script = "<script>alert('非允許IP位置');</script>"; } else { int Chk = 0; using (SqlConnection sc = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnUser"].ToString())) { using (SqlCommand cmd = new SqlCommand("dbo.usp_SystemM_xUpdateLoginDate", sc)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserID", user.ID); cmd.Parameters.AddWithValue("@LoginIP", IpAddressS.GetIP()); cmd.Parameters.AddWithValue("@SystemPowerCateID", SystemPowerCateID); SqlParameter sp1 = cmd.Parameters.AddWithValue("@LoginDateOut", user.LoginDate); sp1.Direction = ParameterDirection.Output; SqlParameter sp2 = cmd.Parameters.AddWithValue("@Chk", Chk); sp2.Direction = ParameterDirection.Output; sc.Open(); cmd.ExecuteNonQuery(); user.LoginDate = (DateTime)sp1.Value; Chk = (int)sp2.Value; } } if (Chk > 0) { //Session.Abandon(); //Session.Clear(); HttpContext.Current.Session["LoginUser"] = user; string tempUrl = SessionS.GetSessionValue("tempUrl") as string; if (tempUrl != null) { SessionS.RemoveSession("tempUrl"); Response.Redirect(tempUrl); } else { Response.Redirect("~/Home.aspx"); } } else { script = "<script>alert('帳號密碼錯誤');</script>"; } } } else { script = "<script>alert('帳號密碼錯誤');</script>"; } Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "alert", script, false); }
protected void Page_Load(object sender, EventArgs e) { UserVM user = AuthServer.GetLoginUser(); MyLevel = SystemOrg.GetVM(user.OrgID).OrgLevel; int PID = SystemOrg.GetVM(user.OrgID).PID; int OrgLevel = SystemOrg.GetVM(user.OrgID).OrgLevel; //DataTable dt = new DataTable(); //using (SqlConnection sc = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnUser"].ToString())) //{ // using (SqlCommand cmd = new SqlCommand("dbo.usp_PowerM_xGetOrgForStockManagementM", sc)) // { // cmd.CommandType = CommandType.StoredProcedure; // cmd.Parameters.AddWithValue("@OrgID", user.OrgID); // cmd.Parameters.AddWithValue("@PID", PID); // cmd.Parameters.AddWithValue("@OrgCateID", OrgCateID); // using (SqlDataAdapter da = new SqlDataAdapter(cmd)) // { // sc.Open(); // da.Fill(dt); // } // } //} List <SystemOrgVM> list = new List <SystemOrgVM>(); //EntityS.FillModel(list, dt); list.AddRange(SystemOrg.list); if (Convert.ToInt32(WebConfigurationManager.AppSettings["OrgAreaSet"]) == 0) { if (OrgLevel == 1) { //移除:與登入者平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 2)); } else if (OrgLevel == 3) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 2 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 2 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 4) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 5) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } } else if (Convert.ToInt32(WebConfigurationManager.AppSettings["OrgAreaSet"]) == 1) { if (OrgLevel == 1) { //移除:與登入者平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); } else if (OrgLevel == 2) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 3) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 4) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 5) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } } MyTreeData = JsonConvert.SerializeObject(list.Where(item => item.OrgCateID == Convert.ToInt32(WebConfigurationManager.AppSettings["OrgCateID"]))); //MyTreeData = SystemOrg.JsonList; }
protected void Page_Load(object sender, EventArgs e) { UserVM user = AuthServer.GetLoginUser(); int PID = SystemOrg.GetVM(user.OrgID).PID; int OrgLevel = SystemOrg.GetVM(user.OrgID).OrgLevel; List <SystemOrgVM> list = new List <SystemOrgVM>(); list.AddRange(SystemOrg.list); if (Convert.ToInt32(WebConfigurationManager.AppSettings["OrgAreaSet"]) == 0) { if (OrgLevel == 1) { //移除:與登入者平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 2)); } else if (OrgLevel == 3) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 2 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 2 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 4) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 5) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } } else if (Convert.ToInt32(WebConfigurationManager.AppSettings["OrgAreaSet"]) == 1) { if (OrgLevel == 1) { //移除:與登入者平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); } else if (OrgLevel == 2) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 3) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 4) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } else if (OrgLevel == 5) { //移除:與登入者上一層、平層、下一層以外的單位 list.RemoveAll(item => !(item.OrgLevel == OrgLevel - 1 || item.OrgLevel == OrgLevel || item.OrgLevel == OrgLevel + 1)); //移除:與登入者上一層同,卻不是登入者的上層 list.RemoveAll(item => item.OrgLevel == OrgLevel - 1 && item.ID != PID); //移除:與登入者同一層,且直屬單位不同 list.RemoveAll(item => item.OrgLevel == OrgLevel && item.PID != PID); //移除:與登入者下一層,且不屬於登入者下層單位 list.RemoveAll(item => item.OrgLevel == OrgLevel + 1 && item.PID != user.OrgID); } } MyTreeData = JsonConvert.SerializeObject(list.Where(item => item.OrgCateID == Convert.ToInt32(WebConfigurationManager.AppSettings["OrgCateID"]))); }
protected new void Page_Load(object sender, EventArgs e) { base.AllowHttpMethod("GET", "POST"); base.DisableTop(false); if (Request.HttpMethod.Equals("POST")) { PageUrl = QueryStringEncryptToolS.Decrypt(GetString("p")); EncryptPageUrl = QueryStringEncryptToolS.Encrypt(PageUrl); HasViewPower = CheckPower(PageUrl, MyPowerEnum.瀏覽); if (HasViewPower == false) { throw new HttpException(404, "Not found"); } HasSearchPower = CheckPower(PageUrl, MyPowerEnum.查詢); var all = SystemOrg.list; //if (Convert.ToInt32(WebConfigurationManager.AppSettings["OrgAreaSet"]) == 0) //{ // all.RemoveAll(item => item.OrgLevel == 2); // all = all.Select(item => // { // if (item.OrgLevel == 3) // { // item.PID = 1; // } // return item; // }).ToList<SystemOrgVM>(); //} int minValue = 0; int maxValue = 0; if (all.Count > 0) { minValue = all[0].PID; maxValue = all[all.Count - 1].PID; } IEnumerable <SystemOrgVM> conditionList = new List <SystemOrgVM>() { SystemOrg.GetVM(AuthServer.GetLoginUser().OrgID) }; IEnumerable <SystemOrgVM> queryList = new List <SystemOrgVM>(); List <SystemOrgVM> FinalList = new List <SystemOrgVM>() { SystemOrg.GetVM(AuthServer.GetLoginUser().OrgID) }; do { queryList = GetChild(all, conditionList, minValue, maxValue); FinalList.AddRange(queryList); conditionList = queryList; } while (queryList.Count() > 0); MyTreeData = JsonConvert.SerializeObject(FinalList); } else { Response.Write(""); Response.End(); } }