//------------------------------------------------------------------------------- internal void Expand(CCustomizableListItem item) { using (CWaitCursor waiter = new CWaitCursor()) { CSetupSmartImportItem si = item as CSetupSmartImportItem; if (si != null && si.ChildItems.Count() == 0) { CSetupSmartImportChampEntiteItem root = si as CSetupSmartImportChampEntiteItem; if (root != null) { CreateChilds(si, root.ValeursExemples, root.ConfigMappage); } CSetupSmartImportEntiteParentItem itemParent = si as CSetupSmartImportEntiteParentItem; if (itemParent != null) { CreateChilds( si, itemParent.ValeursParent, itemParent.MappageEntiteParente != null ? itemParent.MappageEntiteParente.ConfigEntiteParente : null); } CSetupSmartImportEntiteFilleItem itemFille = si as CSetupSmartImportEntiteFilleItem; if (itemFille != null) { CreateChilds(itemFille); } } if (si != null) { si.Expand(); } Refresh(); } }
//------------------------------------------------------------------------------- public override bool HasConfigData() { if (MappageEntitesFilles != null) { if (MappageEntitesFilles.MappagesEntitesFilles.Count() > 0) { return(true); } foreach (CSetupSmartImportItem child in ChildItems) { CSetupSmartImportChampEntiteItem itemEntite = child as CSetupSmartImportChampEntiteItem; if (itemEntite != null && itemEntite.Source != null) { return(true); } } } return(false); }
//------------------------------------------------------------------------------- public CResultAErreurType <CConfigMappagesSmartImport> GetConfigFinale() { MajChamps(); CResultAErreurType <CConfigMappagesSmartImport> resFinal = new CResultAErreurType <CConfigMappagesSmartImport>(); if (Items.Count() == 0 || !(Items[0] is CSetupSmartImportChampEntiteItem)) { resFinal.EmpileErreur(I.T("Can not calculate import setup|20121")); return(resFinal); } CSetupSmartImportChampEntiteItem root = Items[0] as CSetupSmartImportChampEntiteItem; CConfigMappagesSmartImport config = new CConfigMappagesSmartImport(); CResultAErreur result = root.MajConfig(config); if (!result) { resFinal.EmpileErreur(result.Erreur); return(resFinal); } resFinal.DataType = config; return(resFinal); }
//------------------------------------------------------------------------------- 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 bool HighLight(string strIdsMappage, string strChampEnCours) { //Pas terminé, trucs plus urgents à faire foreach (CCustomizableListItem item in Items) { CSetupSmartImportItem si = item as CSetupSmartImportItem; if (si != null) { if (si.Highlight) { RefreshItem(si); } si.Highlight = false; } } try { if (Items.Count() == 0) { return(false); } string[] strIds = strIdsMappage.Split('.'); if (strIds.Length == 0) { return(false); } CSetupSmartImportChampEntiteItem root = Items[0] as CSetupSmartImportChampEntiteItem; if (root == null || root.ConfigMappage == null || root.ConfigMappage.IdMappage != strIds[0]) { return(false); } } finally { } return(false); }
//------------------------------------------------------------------------------- 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); } } } } } }