//----------------------------------------------------------------------- private void GetSelectedFields(ArrayList lst, TreeNodeCollection nodes, CDefinitionProprieteDynamique defParent) { foreach (TreeNode node in nodes) { CDefinitionProprieteDynamique defProp = null; if (node.Tag is CDefinitionProprieteDynamique) { defProp = (CDefinitionProprieteDynamique)node.Tag; defProp = defProp.Clone(); if (defParent != null && defParent.GetType() != typeof(CDefinitionProprieteDynamiqueThis)) { defProp.InsereParent(defParent); } } else if (node.Tag == null) //C'est un folder { defProp = defParent; } if (node.Checked && defProp != null) { lst.Add(defProp); } GetSelectedFields(lst, node.Nodes, defProp); } }
//------------------------------------------------ public CMappageEntitesFilles GetMappageFilleFor(CDefinitionProprieteDynamique def) { return(MappagesEntitesFilles.FirstOrDefault(m => m.Propriete.GetType() == def.GetType() && m.Propriete.NomPropriete == def.NomPropriete)); }
//------------------------------------------------------------------------- private void FillListeChamps(CRestrictionUtilisateurSurType restriction) { m_wndListeChamps.BeginUpdate(); m_wndListeChamps.Items.Clear(); CInfoStructureDynamique info = CInfoStructureDynamique.GetStructure(restriction.TypeAssocie, 0); List <ListViewItem> lstItems = new List <ListViewItem>(); foreach (CInfoChampDynamique champ in info.Champs) { string strTmp = ""; CDefinitionProprieteDynamique def = CConvertisseurInfoStructureDynamiqueToDefinitionChamp.GetDefinitionProprieteDynamique(champ.NomPropriete, ref strTmp); //Uniquement les propriétés "classiques" //voir CTimosApp.GetStructure if (def != null && typeof(CDefinitionProprieteDynamiqueDotNet).IsAssignableFrom(def.GetType())) { ListViewItem item = new ListViewItem(); item.Text = champ.NomChamp; item.Tag = def.NomProprieteSansCleTypeChamp; item.ImageIndex = GetIndexImage(restriction.GetRestriction(def.NomProprieteSansCleTypeChamp)); lstItems.Add(item); } } lstItems.Sort((x, y) => x.Text.CompareTo(y.Text)); if (typeof(IElementAChamps).IsAssignableFrom(restriction.TypeAssocie)) { CRoleChampCustom role = CRoleChampCustom.GetRoleForType(restriction.TypeAssocie); if (role != null) { CListeObjetsDonnees listeChampsCustom = CChampCustom.GetListeChampsForRole(CContexteDonneeSysteme.GetInstance(), role.CodeRole); foreach (CChampCustom champ in listeChampsCustom) { ListViewItem item = new ListViewItem(); item.Text = champ.Nom; item.Tag = champ.CleRestriction; item.ImageIndex = GetIndexImage(restriction.GetRestriction(champ.CleRestriction)); lstItems.Add(item); } lstItems.Sort((x, y) => x.Text.CompareTo(y.Text)); CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(CContexteDonneeSysteme.GetInstance(), typeof(CFormulaire)); listeFormulaires.Filtre = CFormulaire.GetFiltreFormulairesForRole(role.CodeRole); foreach (CFormulaire formulaire in listeFormulaires) { ListViewItem item = new ListViewItem(); item.Text = "{" + formulaire.Libelle + "}"; item.Tag = formulaire.CleRestriction; item.ImageIndex = GetIndexImage(restriction.GetRestriction(formulaire.CleRestriction)); lstItems.Add(item); } } } m_wndListeChamps.Items.AddRange(lstItems.ToArray()); m_wndListeChamps.EndUpdate(); }
//------------------------------------------------ public CMappageChampSimple GetMappageSimpleFor(CDefinitionProprieteDynamique def) { return(MappagesChampsSimples.FirstOrDefault(m => m.Propriete.GetType() == def.GetType() && m.Propriete.NomPropriete == def.NomPropriete)); }