Exemple #1
0
        private void AssemblerLangues(CVSection langueSection)
        {
            LangueGraphRepository langueGraphRepository = new LangueGraphRepository();

            List <Langue>    langues = new List <Langue>();
            List <CVSection> langueSections;

            SectionsExtractor extractor = new SectionsExtractor();

            langueSections = extractor.GetCVSections(langueSection.GetOriginalNodes.Skip(1).ToList(),
                                                     new List <IXmlToken>()
            {
                FormatationToken.CreateFormatationToken(new KeyValuePair <string, string>("w:val", "Puce1"))
            }, "w:b", true);

            foreach (CVSection section in langueSections)
            {
                Langue          curLangue = new Langue();
                XmlDocParagraph langueNom = (XmlDocParagraph)section.Nodes.First(x => x is XmlDocParagraph);

                curLangue.Nom = langueNom.GetParagraphText();
                curLangue     = langueGraphRepository.CreateIfNotExists(new Dictionary <string, object> {
                    { "Nom", curLangue.Nom }
                });

                if (section.Nodes.Skip(1).Count() > 0)
                {
                    foreach (XmlDocParagraph langueNiveau in section.Nodes.Skip(1).Cast <XmlDocParagraph>().ToList())
                    {
                        string[] niveau = langueNiveau.GetParagraphText().Split(':');

                        if (niveau[0].Contains("Parlé"))
                        {
                            curLangue.Parle = (Niveau)System.Enum.Parse(typeof(Niveau), niveau[1].Trim().Replace("-", "").ToCamelCase());
                        }

                        if (niveau[0].Contains("Écrit"))
                        {
                            curLangue.Ecrit = (Niveau)System.Enum.Parse(typeof(Niveau), niveau[1].Trim().Replace("-", "").ToCamelCase());
                        }

                        if (niveau[0].Contains("Lu"))
                        {
                            curLangue.Lu = (Niveau)System.Enum.Parse(typeof(Niveau), niveau[1].Trim().Replace("-", "").ToCamelCase());
                        }
                    }
                }
                else
                {
                    curLangue.Parle = curLangue.Ecrit = curLangue.Lu = Niveau.Avancé;
                }

                langues.Add(curLangue);
            }

            conseiller.Langues.AddRange(langues);
        }
Exemple #2
0
        public ActionResult Add(string utilisateurId, [FromBody] LangueViewModel langue)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);

            var langueModel = langueGraphRepository.CreateIfNotExists(new Langue {
                Nom = langue.Nom
            });

            langueModel.Parle = (Niveau)Enum.Parse(typeof(Niveau), langue.NiveauParle);
            langueModel.Ecrit = (Niveau)Enum.Parse(typeof(Niveau), langue.NiveauEcrit);
            langueModel.Lu    = (Niveau)Enum.Parse(typeof(Niveau), langue.NiveauLu);

            editionObjectGraphRepository.AjouterNoeud(
                objetAjoute: langueModel,
                viewModelProprieteNom: "Langues",
                noeudModifie: utilisateur.Conseiller);

            langue.GraphId = langueModel.GraphKey;
            return(Json(langue));
        }