示例#1
0
        void ExtraitLien(XElement element)
        {
            listeplan       = (List <Plan>)Acces.Remplir_ListeElement(Acces.type_PLAN, "");
            listeobjectif   = (List <Objectif>)Acces.Remplir_ListeElement(Acces.type_OBJECTIF, "");
            listeaction     = (List <PATIO.CAPA.Classes.Action>)Acces.Remplir_ListeElement(Acces.type_ACTION, "");
            listeindicateur = (List <Indicateur>)Acces.Remplir_ListeElement(Acces.type_INDICATEUR, "");

            foreach (XElement childElement in element.Elements())
            {
                if (childElement.Name == "Lien")
                {
                    Lien p = new Lien()
                    {
                        Acces = Acces,
                    };

                    foreach (XElement xl in childElement.Elements())
                    {
                        switch (xl.Name.ToString())
                        {
                        case "ID":
                        { p.ID = int.Parse(xl.Value.ToString()); break; }

                        case "Element0_Type":
                        { p.Element0_Type = int.Parse(xl.Value.ToString()); break; }

                        case "Element0_ID":
                        { p.Element0_ID = int.Parse(xl.Value.ToString()); break; }

                        case "Element0_Code":
                        { p.Element0_Code = xl.Value.ToString(); break; }

                        case "Element1_Type":
                        { p.Element1_Type = int.Parse(xl.Value.ToString()); break; }

                        case "Element1_ID":
                        { p.Element1_ID = int.Parse(xl.Value.ToString()); break; }

                        case "Element1_Code":
                        { p.Element1_Code = xl.Value.ToString(); break; }

                        case "Element2_Type":
                        { p.Element2_Type = int.Parse(xl.Value.ToString()); break; }

                        case "Element2_ID":
                        { p.Element2_ID = int.Parse(xl.Value.ToString()); break; }

                        case "Element2_Code":
                        { p.Element2_Code = xl.Value.ToString(); break; }

                        case "Ordre":
                        { p.ordre = int.Parse(xl.Value.ToString()); break; }

                        case "complement":
                        { p.complement = xl.Value.ToString(); break; }
                        }
                    }
                    //Recherche des identifiants par rapport aux codes
                    int typeelement_id = Acces.type_OBJECTIF.ID;
                    if (p.Element1_Type == Acces.type_OBJECTIF.ID)
                    {
                        p.Element1_Code = p.Element1_Code.Replace("+", "_");
                    }
                    if (p.Element2_Type == Acces.type_OBJECTIF.ID)
                    {
                        p.Element2_Code = p.Element2_Code.Replace("+", "_");
                    }
                    if (p.Element1_Type == Acces.type_ACTION.ID)
                    {
                        p.Element1_Code = p.Element1_Code.Replace("+", "_").Replace("|", ".");
                    }
                    if (p.Element2_Type == Acces.type_ACTION.ID)
                    {
                        p.Element2_Code = p.Element2_Code.Replace("+", "_").Replace("|", ".");
                    }

                    p.Element1_ID = (int)DonneIDElement(p.Element1_Type.ToString(), p.Element1_Code);
                    p.Element2_ID = (int)DonneIDElement(p.Element2_Type.ToString(), p.Element2_Code);

                    if (!(p.Exister_Lien(p.Element0_Type.ToString(), p.Element0_Code, p.Element1_Type.ToString(), p.Element1_Code, p.Element2_Type.ToString(), p.Element2_Code)))
                    {
                        p.Ajouter(); Acces.Ajouter_Lien(p);
                    }
                }
            }
        }