private void Init(CValeursProprietes valeurRoot) { m_rootValues = valeurRoot; CConfigMappagesSmartImport conf = new CConfigMappagesSmartImport(); conf.KeyEntite = valeurRoot.DbKeyObjet; conf.TypeEntite = valeurRoot.TypeObjet; m_ctrlSetup.Fill(valeurRoot, conf, m_sourceTable); }
//------------------------------------------------------------------------------- public void Fill( CValeursProprietes valeurs) { List <CViewSmartImportResultItem> lst = new List <CViewSmartImportResultItem>(); lst.Add(new CViewSmartImportResultItem(null, null, valeurs, null, 0)); Items = lst.ToArray(); Expand(Items[0]); }
//------------------------------------------------------------------- public CSetupSmartImportEntiteFilleItem( CSetupSmartImportItem parentItem, CDefinitionProprieteDynamique def, CValeursProprietes valeursDuParent, CMappageEntitesFilles mappageFille, int nColorIndex) : base(parentItem, def, nColorIndex) { m_valeursDuParent = valeursDuParent; m_mappageFilles = mappageFille; if (m_mappageFilles == null) { m_mappageFilles = new CMappageEntitesFilles(); m_mappageFilles.Propriete = def; } }
//------------------------------------------------------------------------------- public void Fill( CValeursProprietes valeurs, CConfigMappagesSmartImport configMappage, DataTable sourceTable) { using (CWaitCursor waiter = new CWaitCursor()) { List <CSetupSmartImportItem> lst = new List <CSetupSmartImportItem>(); lst.Add(new CSetupSmartImportChampEntiteItem(null, valeurs, new CSourceSmartImportObjet(), configMappage, 0)); ((CControleSetupSmartImportField)ItemControl).SourceTable = sourceTable; Items = lst.ToArray(); ExpandItemsWithData(Items[0] as CSetupSmartImportItem); } }
//------------------------------------------------------------------- public CSetupSmartImportChampEntiteItem( CSetupSmartImportItem itempParent, CValeursProprietes valeursExemple, CSourceSmartImport source, CConfigMappagesSmartImport config, int nColorIndex) : base(itempParent, null, nColorIndex) { m_valeursExemple = valeursExemple; m_config = config; m_source = source; if (m_config == null && valeursExemple != null) { m_config = new CConfigMappagesSmartImport(); m_config.KeyEntite = valeursExemple.DbKeyObjet; m_config.TypeEntite = valeursExemple.TypeObjet; } }
//------------------------------------------------------------------- public CSetupSmartImportEntiteParentItem( CSetupSmartImportItem parentItem, CDefinitionProprieteDynamique def, CValeursProprietes valeursParent, CMappageEntiteParente mappageParent, int nColorIndex) : base(parentItem, def, nColorIndex) { m_valeursParent = valeursParent; m_mappageParent = mappageParent; if (m_mappageParent == null && m_valeursParent != null) { m_mappageParent = new CMappageEntiteParente(); m_mappageParent.Propriete = def; m_mappageParent.ConfigEntiteParente = new CConfigMappagesSmartImport(); m_mappageParent.ConfigEntiteParente.TypeEntite = def.TypeDonnee.TypeDotNetNatif; m_mappageParent.ConfigEntiteParente.KeyEntite = m_valeursParent.DbKeyObjet; } }
//---------------------------------------------------------------------------- private void m_wndListeItems_SelectedIndexChanged(object sender, EventArgs e) { if (m_wndListeItems.SelectedItems.Count != 1) { m_wndViewItem.Visible = false; return; } ListViewItem item = m_wndListeItems.SelectedItems[0]; CObjetDonnee objet = item != null?item.Tag as CObjetDonnee:null; if (objet != null) { m_wndViewItem.Visible = true; CValeursProprietes v = new CValeursProprietes(objet, true); m_wndViewItem.Fill(v); } else { m_wndViewItem.Visible = false; } }
private void ShowValeur(object valeur, Label lbl) { if (valeur is IEnumerable <CValeursProprietes> ) { lbl.Text = ((IEnumerable <CValeursProprietes>)valeur).Count().ToString(); m_btnExpand.Visible = true; } else if (valeur is CValeursProprietes) { lbl.Text = ((CValeursProprietes)valeur).LibelleObjet; m_btnExpand.Visible = true; CValeursProprietes v = valeur as CValeursProprietes; if (v.ObjetAssocie != null) { if (v.ObjetAssocie.Row.RowState == DataRowState.Added) { m_imageEtat.Visible = true; m_imageEtat.Image = Properties.Resources._1402941834_Create; } if (v.ObjetAssocie.Row.RowState == DataRowState.Modified) { m_imageEtat.Visible = true; m_imageEtat.Image = Properties.Resources._1402941874_Modify; } } } else { if (valeur == null) { lbl.Text = "null"; } else { lbl.Text = valeur.ToString(); } m_btnExpand.Visible = false; } }
//-------------------------------------------------------------------------------------------------------- public static bool ShowImportResult( CContexteDonnee contexteDonnee, CContexteImportDonnee contexteImport, CConfigMappagesSmartImport config, CValeursProprietes valeurs, DataTable tableSource) { using (CFormResultatSmartImport form = new CFormResultatSmartImport()) { form.m_contexteDonnee = contexteDonnee; form.m_contexteImport = contexteImport; form.FillListeRésumée(); form.FillLog(); form.FillComparaisons(); form.m_ctrlSetup.Fill(valeurs, config, tableSource); if (form.ShowDialog() == DialogResult.OK) { return(true); } return(false); } }
//------------------------------------------------------------------------------- private void CreateChilds(CSetupSmartImportItem si, CValeursProprietes valeurs, CConfigMappagesSmartImport configMappage) { //Champs simples HashSet <CDefinitionProprieteDynamique> set = new HashSet <CDefinitionProprieteDynamique>(); if (valeurs != null) { foreach (CDefinitionProprieteDynamique prop in valeurs.GetDefinitionsSimples()) { if (prop != null) { set.Add(prop); } } } if (configMappage != null) { foreach (CMappageChampSimple mappage in configMappage.MappagesChampsSimples) { if (mappage.Propriete != null) { set.Add(mappage.Propriete); } } } List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>(set.ToArray()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); int nIndex = si.Index; foreach (CDefinitionProprieteDynamique def in lst) { CMappageChampSimple mappageSimple = configMappage != null? configMappage.GetMappageSimpleFor(def) : null; bool bCreate = true; if (HideNullSources) { bCreate = mappageSimple != null && mappageSimple.Source != null; } if (bCreate) { CSetupSmartImportChampSimpleItem item = new CSetupSmartImportChampSimpleItem( si, def, valeurs != null ? valeurs.GetValeurSimple(def) : null, mappageSimple, si.ColorIndex); InsertItem(++nIndex, item, false); } } //Champs parents int nColorIndex = si.ColorIndex; set.Clear(); if (valeurs != null) { foreach (CDefinitionProprieteDynamique def in valeurs.GetDefinitionsParentes()) { if (def != null) { set.Add(def); } } } if (configMappage != null) { foreach (CMappageEntiteParente map in configMappage.MappagesEntitesParentes) { if (map.Propriete != null) { set.Add(map.Propriete); } } } lst = new List <CDefinitionProprieteDynamique>(set.ToArray()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lst) { CMappageEntiteParente mappageParent = configMappage != null?configMappage.GetMappageParentFor(def) : null; bool bCreate = true; if (HideNullSources) { bCreate = mappageParent != null && mappageParent.Source != null; } if (bCreate) { nColorIndex++; if (CSetupSmartImportItem.GetCouleur(nColorIndex) == si.BackColor) { nColorIndex++; } CSetupSmartImportEntiteParentItem item = new CSetupSmartImportEntiteParentItem( si, def, valeurs != null ? valeurs.GetValeurParente(def) : null, mappageParent, nColorIndex); InsertItem(++nIndex, item, false); } } set.Clear(); if (valeurs != null) { foreach (CDefinitionProprieteDynamique def in valeurs.GetDefinitionsFilles()) { if (def != null) { set.Add(def); } } } if (configMappage != null) { foreach (CMappageEntitesFilles map in configMappage.MappagesEntitesFilles) { if (map.Propriete != null) { set.Add(map.Propriete); } } } lst = new List <CDefinitionProprieteDynamique>(set.ToArray()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lst) { CMappageEntitesFilles mappageFilles = configMappage != null?configMappage.GetMappageFilleFor(def) : null; bool bCreate = true; if (HideNullSources) { bCreate = mappageFilles != null && mappageFilles.MappagesEntitesFilles.Count() > 0; } if (bCreate) { CSetupSmartImportEntiteFilleItem item = new CSetupSmartImportEntiteFilleItem( si, def, valeurs, mappageFilles, si.ColorIndex ); InsertItem(++nIndex, item, false); } } }
//-------------------------------------------------------------------- protected override CResultAErreur MyInitChamps(CCustomizableListItem item) { CResultAErreur result = base.MyInitChamps(item); if (!result) { return(result); } CViewSmartImportResultItem si = item as CViewSmartImportResultItem; if (si != null) { m_lblChamp.BackColor = si.BackColor; m_lblMarge.BackColor = si.BackColor; if (si.Niveau > 0) { m_lblMarge.Width = si.Niveau * 10; m_lblMarge.Visible = true; } else { m_lblMarge.Visible = false; } if (si.Propriete != null) { m_lblChamp.Text = si.Propriete.Nom; } else { m_lblChamp.Text = ""; } BackColor = Color.White; ColorInactive = Parent.BackColor; object valeur = si.Valeur; m_imageEtat.Visible = false; ShowValeur(valeur, m_lblValeur); //ShowValeur(si.ValeurOriginale, m_lblValeurOriginale); m_lblValeurOriginale.Visible = false; if (valeur is IEnumerable <CValeursProprietes> ) { m_btnExpand.Visible = true; } else if (valeur is CValeursProprietes) { m_btnExpand.Visible = true; CValeursProprietes v = valeur as CValeursProprietes; if (v.ObjetAssocie != null) { if (v.ObjetAssocie.Row.RowState == DataRowState.Added) { m_imageEtat.Visible = true; m_imageEtat.Image = Properties.Resources._1402941834_Create; } if (v.ObjetAssocie.Row.RowState == DataRowState.Modified) { m_imageEtat.Visible = true; m_imageEtat.Image = Properties.Resources._1402941874_Modify; } } } else { m_btnExpand.Visible = false; } m_btnExpand.Text = si.IsCollapse ? "+" : "-"; } else { m_btnExpand.Visible = false; } return(result); }
//------------------------------------------------------------------------------- private void CreateChilds(CViewSmartImportResultItem si, CValeursProprietes valeurs) { List <CDefinitionProprieteDynamique> lst = new List <CDefinitionProprieteDynamique>(); lst.AddRange(valeurs.GetDefinitionsSimples()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); int nIndex = si.Index; foreach (CDefinitionProprieteDynamique def in lst) { CViewSmartImportResultItem item = new CViewSmartImportResultItem( si, def, valeurs.GetValeurSimple(def), valeurs.ValeursOriginales != null? valeurs.ValeursOriginales.GetValeurSimple(def): null, si.ColorIndex); InsertItem(++nIndex, item, false); } //Champs parents int nColorIndex = si.ColorIndex; lst.Clear(); lst.AddRange(valeurs.GetDefinitionsParentes()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lst) { nColorIndex++; if (CViewSmartImportResultItem.GetCouleur(nColorIndex) == si.BackColor) { nColorIndex++; } CViewSmartImportResultItem item = new CViewSmartImportResultItem( si, def, valeurs.GetValeurParente(def), valeurs.ValeursOriginales != null? valeurs.ValeursOriginales.GetValeurParente(def): null, nColorIndex); InsertItem(++nIndex, item, false); } //Champs filles lst.Clear(); lst.AddRange(valeurs.GetDefinitionsFilles()); lst.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lst) { CViewSmartImportResultItem item = new CViewSmartImportResultItem( si, def, valeurs.GetValeursFilles(def), null, si.ColorIndex ); InsertItem(++nIndex, item, false); } }