예제 #1
0
    //------------------------------------------------------------------------
    private static void AddSystemesCoordonnees(CContexteDonnee ctx, CMemoryDb db)
    {
        CListeObjetDonneeGenerique <CSystemeCoordonnees> lst = new CListeObjetDonneeGenerique <CSystemeCoordonnees>(ctx);

        lst.ReadDependances("RelationFormatsNumerotation");
        foreach (CSystemeCoordonnees systemeTimos in lst)
        {
            TID.CSystemeCoordonnees systeme = new TID.CSystemeCoordonnees(db);
            systeme.CreateNew(systemeTimos.Id);
            systeme.Libelle = systemeTimos.Libelle;
            foreach (CRelationSystemeCoordonnees_FormatNumerotation relTimos in systemeTimos.RelationFormatsNumerotation)
            {
                TID.CRelationSystemeCoordonnees_FormatNumerotation rel = new TID.CRelationSystemeCoordonnees_FormatNumerotation(db);
                TID.CFormatNumerotation format = new TID.CFormatNumerotation(db);
                int?nId = (int?)relTimos.Row[CFormatNumerotation.c_champId, true];
                if (nId == null || format.ReadIfExistsIdTimos(nId.Value))
                {
                    TID.CUniteCoordonnee unite = new TID.CUniteCoordonnee(db);
                    nId = (int?)relTimos.Row[CUniteCoordonnee.c_champId, true];
                    if (nId == null || unite.ReadIfExistsIdTimos(nId.Value))
                    {
                        rel.CreateNew(relTimos.Id);
                        rel.FormatNumerotation   = format;
                        rel.Libelle              = relTimos.Libelle;
                        rel.Position             = relTimos.Position;
                        rel.Prefixes             = relTimos.Prefixes;
                        rel.SystemeDeCoordonnees = systeme;
                        rel.Unite = unite;
                    }
                }
            }
        }
    }
예제 #2
0
    //-----------------------------------------------------------------
    private static TID.CParametrageSystemeCoordonnees ImporteParametrageSC(
        CParametrageSystemeCoordonnees paramTimos,
        CMemoryDb db,
        TID.CIndexIdTimos <TID.CSystemeCoordonnees> dicSC,
        TID.CIndexIdTimos <TID.CRelationSystemeCoordonnees_FormatNumerotation> dicRFN)
    {
        if (paramTimos == null)
        {
            return(null);
        }
        TID.CParametrageSystemeCoordonnees parametrage = null;
        TID.CSystemeCoordonnees            sc          = null;
        if (dicSC != null)
        {
            sc = dicSC.GetSafe((int?)paramTimos.Row[CSystemeCoordonnees.c_champId, true]);
        }
        parametrage = new TimosInventory.data.CParametrageSystemeCoordonnees(db);
        parametrage.CreateNew();
        if (sc != null)
        {
            parametrage.SystemeCoordonnees = sc;
        }
        else
        {
            parametrage.Row[TID.CSystemeCoordonnees.c_champId] = paramTimos.Row[TID.CSystemeCoordonnees.c_champId];
        }

        foreach (CParametrageNiveau paramNTimos in paramTimos.ParametragesNiveauxOrdonnees)
        {
            TID.CRelationSystemeCoordonnees_FormatNumerotation relFN = null;
            if (dicRFN != null)
            {
                relFN = dicRFN.GetSafe((int?)paramNTimos.Row[CRelationSystemeCoordonnees_FormatNumerotation.c_champId, true]);
            }
            TID.CParametrageNiveau paramN = new TimosInventory.data.CParametrageNiveau(db);
            paramN.CreateNew();
            paramN.ParametrageSystemeCoordonnees = parametrage;
            paramN.PremierIndice = paramNTimos.PremierIndice;
            paramN.Taille        = paramNTimos.Taille;
            if (relFN != null)
            {
                paramN.RelationSysCoor_FormatNum = relFN;
            }
            else
            {
                paramN.Row[TID.CRelationSystemeCoordonnees_FormatNumerotation.c_champId] = paramNTimos.Row[CRelationSystemeCoordonnees_FormatNumerotation.c_champId];
            }
        }
        return(parametrage);
    }