コード例 #1
0
        //-------------------------------------------------------------------------------
        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);
        }
コード例 #2
0
        //-------------------------------------------------------------------------------
        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);
                            }
                        }
                    }
                }
            }
        }