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); }
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)); }