public void Init(CProcess process, Type typeObjet, CActionImportFromTableRow.CMappageColonne mappage) { m_mappage = mappage; CColonneTableParametrable col = new CColonneTableParametrable(CContexteDonneeSysteme.GetInstance()); col.ReadIfExists(mappage.IdColonne); m_lblColonne.Text = col.Libelle; Type tp = col.TypeDonneeChamp.TypeDotNetAssocie; List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>(); foreach (CDefinitionProprieteDynamique def in new CFournisseurPropDynStd(false).GetDefinitionsChamps(typeObjet)) { Type defType = def.TypeDonnee.TypeDotNetNatif; if (defType.IsGenericType && defType.GetGenericTypeDefinition() == typeof(Nullable <>)) { defType = defType.GetGenericArguments()[0]; } if (defType == tp && !def.TypeDonnee.IsArrayOfTypeNatif) { lst.Add(def); } } m_cmbChamp.ListDonnees = lst; m_cmbChamp.ProprieteAffichee = "Nom"; m_cmbChamp.SelectedValue = mappage.ProprieteCible; m_txtFormuleCondition.Init(process, typeof(CProcess)); m_txtFormuleCondition.Formule = mappage.FormuleCondition; }
/// ////////////////////////////////////////// private void InitPanelMappages() { C2iExpression formuleCible = m_txtFormuleTarget.Formule; CTypeTableParametrable typeTable = m_cmbTypeTable.ElementSelectionne as CTypeTableParametrable; Dictionary <int, CActionImportFromTableRow.CMappageColonne> dicMappages = new Dictionary <int, CActionImportFromTableRow.CMappageColonne>(); foreach (CActionImportFromTableRow.CMappageColonne map in ActionImportFromTableRow.Mappages) { dicMappages[map.IdColonne] = map; } List <CActionImportFromTableRow.CMappageColonne> lstOld = new List <CActionImportFromTableRow.CMappageColonne>(); foreach (CControleEditeMappageImportTableRow ctrl in m_panelMappage.Controls) { if (ctrl.MajChamps()) { dicMappages[ctrl.Mappage.IdColonne] = ctrl.Mappage; } } m_panelMappage.SuspendDrawing(); m_panelMappage.ClearAndDisposeControls(); if (formuleCible != null && typeTable != null) { Type tpElements = formuleCible.TypeDonnee.TypeDotNetNatif; List <CActionImportFromTableRow.CMappageColonne> lst = new List <CActionImportFromTableRow.CMappageColonne>(); foreach (CColonneTableParametrable col in typeTable.Colonnes) { CActionImportFromTableRow.CMappageColonne map = null; if (!dicMappages.TryGetValue(col.Id, out map)) { map = new CActionImportFromTableRow.CMappageColonne(); map.IdColonne = col.Id; } CControleEditeMappageImportTableRow controle = new CControleEditeMappageImportTableRow(); controle.Init(ActionImportFromTableRow.Process, tpElements, map); m_panelMappage.Controls.Add(controle); controle.Dock = DockStyle.Top; controle.BringToFront(); } } m_panelMappage.ResumeDrawing(); }