//------------------------------------------------------------------------------- public override CResultAErreur MajConfig(CConfigMappagesSmartImport config) { CResultAErreur result = CResultAErreur.True; CMappageEntitesFilles mappage = new CMappageEntitesFilles(); mappage.Propriete = MappageEntitesFilles.Propriete; List <CMappageEntiteFille> lstMapsFilles = new List <CMappageEntiteFille>(); foreach (CSetupSmartImportItem child in ChildItems) { CSetupSmartImportChampEntiteItem itemEntite = child as CSetupSmartImportChampEntiteItem; if (itemEntite != null) { if (itemEntite.Source != null) { CConfigMappagesSmartImport conf = new CConfigMappagesSmartImport(); result = itemEntite.MajConfig(conf); if (!result) { return(result); } CMappageEntiteFille mapFille = new CMappageEntiteFille(); mapFille.ConfigMappage = conf; mapFille.Source = itemEntite.Source; lstMapsFilles.Add(mapFille); } } } mappage.MappagesEntitesFilles = lstMapsFilles; if (lstMapsFilles.Count > 0) { List <CMappageEntitesFilles> lst = new List <CMappageEntitesFilles>(config.MappagesEntitesFilles); lst.Add(mappage); config.MappagesEntitesFilles = lst; } return(result); }
//------------------------------------------------------------------------------- private void CreateChilds(CSetupSmartImportEntiteFilleItem itemFille) { int nIndex = itemFille.Index; int nColIndex = itemFille.ColorIndex; HashSet <CDbKey> keysDone = new HashSet <CDbKey>(); if (itemFille.ValeursDeFilles != null) { foreach (CValeursProprietes val in itemFille.ValeursDeFilles) { CMappageEntiteFille mappage = itemFille.MappageEntitesFilles != null? itemFille.MappageEntitesFilles.GetMappageForEntite(val.DbKeyObjet) : null; bool bCreate = true; if (HideNullSources) { bCreate = mappage != null && mappage.Source != null; } if (bCreate) { nColIndex++; if (CSetupSmartImportItem.GetCouleur(nColIndex) == itemFille.BackColor) { nColIndex++; } CSetupSmartImportChampEntiteItem item = new CSetupSmartImportChampEntiteItem( itemFille, val, mappage != null ? mappage.Source : null, mappage != null ? mappage.ConfigMappage : null, nColIndex); InsertItem(++nIndex, item, false); if (val.DbKeyObjet != null) { keysDone.Add(val.DbKeyObjet); } } } } if (itemFille.MappageEntitesFilles != null) { IEnumerable <CMappageEntiteFille> mapsFilles = itemFille.MappageEntitesFilles.MappagesEntitesFilles; foreach (CMappageEntiteFille mapFille in mapsFilles) { if (mapFille.Source != null && mapFille.ConfigMappage != null) { CConfigMappagesSmartImport conf = mapFille.ConfigMappage; if (conf.KeyEntite == null || !keysDone.Contains(conf.KeyEntite)) { nColIndex++; if (CSetupSmartImportItem.GetCouleur(nColIndex) == itemFille.BackColor) { nColIndex++; } CSetupSmartImportChampEntiteItem item = new CSetupSmartImportChampEntiteItem( itemFille, null, mapFille.Source, conf, nColIndex); InsertItem(++nIndex, item, false); if (conf.KeyEntite != null) { keysDone.Add(conf.KeyEntite); } } } } } }