/// <summary> /// 註冊資料項目,並且一併處理權限問題。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="panel"></param> public static void RegisterDetailContent <T>(this NLDPanel panel) where T : FISCA.Presentation.DetailContent, new() { AccessControlAttribute access = Attribute.GetCustomAttribute(typeof(T), typeof(AccessControlAttribute)) as AccessControlAttribute; if (access != null) { if (!ACL.ContainsKey(typeof(T))) //指定的型別沒有被註冊過才進行註冊。 { ACL.Add(typeof(T), access); Catalog cg = GetCatalog(access.Path); if (!FeatureCodes.Contains(access.Code)) //重覆的代碼也不進行註冊。 { FeatureCodes.Add(access.Code); cg.Add(new DetailItemFeature(typeof(T))); } } if (!UserAcl.Current[access.Code].Viewable) { return; } } DetailBulider <T> builder = new DetailBulider <T>(); builder.ContentBulided += new EventHandler <ContentBulidedEventArgs <T> >(builder_ContentBulided); panel.AddDetailBulider(builder); }
public Teacher(NLDPanel panel) { Panel = panel; FilterList.Add(new Status("一般", 1)); FilterList.Add(new Status("刪除", 256)); }
private Student(NLDPanel present) : base(present) { this.ItemLoaded += delegate { lock (_ClassStudents) { _ClassStudents.Clear(); foreach (var item in this.Items) { if (item.Status == "一般" || item.Status == "輟學") { if (!_ClassStudents.ContainsKey(item.RefClassID)) { _ClassStudents.Add(item.RefClassID, new List <StudentRecord>()); } _ClassStudents[item.RefClassID].Add(item); } } } }; this.ItemUpdated += delegate(object sender, ItemUpdatedEventArgs e) { lock (_ClassStudents) { List <string> keys = new List <string>(e.PrimaryKeys); keys.Sort(); foreach (var cid in _ClassStudents.Keys) { List <StudentRecord> removeItems = new List <StudentRecord>(); foreach (var item in _ClassStudents[cid]) { if (keys.BinarySearch(item.ID) >= 0) { removeItems.Add(item); } } foreach (var item in removeItems) { _ClassStudents[cid].Remove(item); } } foreach (var key in e.PrimaryKeys) { var item = Items[key]; if (item != null) { if (!_ClassStudents.ContainsKey(item.RefClassID)) { _ClassStudents.Add(item.RefClassID, new List <StudentRecord>()); } _ClassStudents[item.RefClassID].Add(item); } } } }; }
public Student(NLDPanel panel) { Panel = panel; FilterList.Add(new Status("在學", 1)); FilterList.Add(new Status("休學", 4)); FilterList.Add(new Status("退學", 64)); FilterList.Add(new Status("畢業", 16)); FilterList.Add(new Status("刪除", 256)); }
private static void InitMainPanel() { foreach (NLDPanel Panel in MotherForm.Panels) { if (Panel.Group.Equals("學校")) { MainPanel = Panel; } } }
private static void InitMainPanel() { MainPanel = new NLDPanel(); MainPanel.Group = "DSAServer"; MainPanel.SetDescriptionPaneBulider <DetailItemDescription>(); InitBasicSearch(); MotherForm.AddPanel(MainPanel); MainPanel.AddView(new DefaultView()); }
private Class(NLDPanel present) : base(present) { this.ItemLoaded += delegate { lock (_TeacherSupervised) { _TeacherSupervised.Clear(); foreach (var item in Items) { if (!_TeacherSupervised.ContainsKey(item.RefTeacherID)) { _TeacherSupervised.Add(item.RefTeacherID, new List <ClassRecord>()); } _TeacherSupervised[item.RefTeacherID].Add(item); } } }; this.ItemUpdated += delegate(object sender, ItemUpdatedEventArgs e) { lock (_TeacherSupervised) { List <string> keys = new List <string>(e.PrimaryKeys); keys.Sort(); foreach (var tid in _TeacherSupervised.Keys) { List <ClassRecord> removeItems = new List <ClassRecord>(); foreach (var item in _TeacherSupervised[tid]) { if (keys.BinarySearch(item.ID) >= 0) { removeItems.Add(item); } } foreach (var item in removeItems) { _TeacherSupervised[tid].Remove(item); } } foreach (var key in e.PrimaryKeys) { var item = Items[key]; if (item != null) { if (!_TeacherSupervised.ContainsKey(item.RefTeacherID)) { _TeacherSupervised.Add(item.RefTeacherID, new List <ClassRecord>()); } _TeacherSupervised[item.RefTeacherID].Add(item); } } } }; }
private static void InitMainPanel() { bool addPanel = true; foreach (NLDPanel Panel in MotherForm.Panels) { if (Panel.Group.Equals("學校")) { MainPanel = Panel; addPanel = false; } } if (addPanel) { MainPanel = new NLDPanel(); MainPanel.Group = "學校"; } }
//載入學校資料 private void loadSchools() { NLDPanel panel = (NLDPanel)MotherForm.Panels.ToList <INCPanel>()[0]; this.SelectedSchoolIDs = panel.SelectedSource; if (this.SelectedSchoolIDs.Count < 1) { FISCA.Presentation.Controls.MsgBox.Show("請先選擇要匯出資料的學校!"); this.Close(); } this.SelectedSchools = _Helper.Select <School>(this.SelectedSchoolIDs); this.lstSchools.Items.Clear(); foreach (School sch in SelectedSchools) { this.lstSchools.Items.Add($"{sch.Title} {sch.DSNS}"); } this.labelX1.Text = $"將針對以下 {SelectedSchools.Count} 所學校執行解鎖 :"; }
public LegacyPresentBase(NLDPanel present) { Present = present; UseFilter = false; ItemUpdated += delegate(object sender, ItemUpdatedEventArgs e) { Present.RefillListPane(); SetSource(); }; ItemLoaded += delegate(object sender, EventArgs e) { Present.ShowLoading = false; SetSource(); }; Present.CompareSource += delegate(object sender, CompareEventArgs e) { e.Result = QuickCompare(e.Value1, e.Value2); }; Present.SelectedSourceChanged += delegate { if (SelectedListChanged != null) { SelectedListChanged(this, EventArgs.Empty); } }; Present.TempSourceChanged += delegate { if (TemporaListChanged != null) { TemporaListChanged(this, EventArgs.Empty); } }; }
private Course(NLDPanel present) : base(present) { }
private static void InitMainPanel() { foreach(NLDPanel Panel in MotherForm.Panels) if (Panel.Group.Equals("學校")) MainPanel = Panel; }
private static void InitMainPanel() { MainPanel = new NLDPanel(); MainPanel.Group = "學校"; MainPanel.SetDescriptionPaneBulider<DetailItemDescription>(); InitBasicSearch(); MotherForm.AddPanel(MainPanel); MainPanel.AddView(new DefaultView()); }
/// <summary> /// 將欄位註冊到畫面上。 /// </summary> /// <param name="panel"></param> public void Register(NLDPanel panel) { panel.AddListPaneField(Field); }
private Teacher(NLDPanel present) : base(present) { }
public Course(NLDPanel panel) { Panel = panel; }