public ActionResult Edit(string utilisateurId, [FromBody] FormationAcademiqueViewModel formationAcademique)
        {
            var utilisateur            = utilisateurGraphRepository.GetOne(utilisateurId);
            var formationScolaireModel = formationScolaireGraphRepository.GetOne(formationAcademique.GraphId);

            var formationsAcademiques = utilisateur.Conseiller.FormationsScolaires;

            if (formationsAcademiques.Any(x => x.GraphKey == formationAcademique.GraphId))
            {
                editionObjectGraphRepository.ChangerPropriete(
                    viewModelPropriete: () => formationAcademique.Annee,
                    graphModelPropriete: () => formationScolaireModel.DateConclusion,
                    noeudModifie: formationScolaireModel);

                editionObjectGraphRepository.ChangerPropriete(
                    viewModelPropriete: () => formationAcademique.Diplome,
                    graphModelPropriete: () => formationScolaireModel.Diplome,
                    noeudModifie: formationScolaireModel);
            }
            else
            {
                formationScolaireModel.DateConclusion = formationAcademique.Annee;
                formationScolaireModel.Diplome        = formationAcademique.Diplome;
                formationScolaireGraphRepository.Update(formationScolaireModel);
            }

            return(Json(formationAcademique));
        }
        public ActionResult Add(string utilisateurId, [FromBody] FormationAcademiqueViewModel formationAcademique)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);

            var instituition = new Instituition()
            {
                Nom = formationAcademique.Etablissement, Pays = new Pays {
                    Nom = formationAcademique.Pays
                }
            };

            var formationAcademiqueModel = FormationScolaire.CreateFormationScolaire(
                diplome: formationAcademique.Diplome,
                dateConlusion: formationAcademique.Annee,
                equivalence: false,
                niveau: formationAcademique.Niveau.ToString(),
                principal: formationAcademique.Principal,
                instituition: instituition
                );

            formationScolaireGraphRepository.Add(formationAcademiqueModel);
            editionObjectGraphRepository.AjouterNoeud(
                objetAjoute: formationAcademiqueModel,
                viewModelProprieteNom: "FormationsScolaires",
                noeudModifie: utilisateur.Conseiller);

            formationAcademique.GraphId = formationAcademiqueModel.GraphKey;
            formationAcademique.GraphIdEtablissement = formationAcademiqueModel.Ecole.GraphKey;
            return(Json(formationAcademique));
        }
Example #3
0
        public CVViewModel Map(Utilisateur utilisateur)
        {
            int         intForParse = 0;
            CVViewModel cVViewModel = new CVViewModel();

            cVViewModel.GraphIdConseiller  = utilisateur.Conseiller.GraphKey;
            cVViewModel.GraphIdUtilisateur = utilisateur.GraphKey;
            cVViewModel.GraphIdFonction    = utilisateur.Conseiller.Fonction.GraphKey;
            cVViewModel.GraphIdCV          = utilisateur.Conseiller.CVs.First().GraphKey;

            cVViewModel.Prenom = utilisateur.Prenom;
            cVViewModel.Nom    = utilisateur.Nom;

            cVViewModel.Fonction   = utilisateur.Conseiller.Fonction.Description;
            cVViewModel.Biographie = utilisateur.Conseiller.CVs.First().ResumeExperience;

            foreach (DomaineDIntervention domaineDIntervention in utilisateur.Conseiller.DomaineDInterventions)
            {
                cVViewModel.DomainesDIntervention.Add(new DomaineDInterventionViewModel {
                    GraphId = domaineDIntervention.GraphKey, Description = domaineDIntervention.Description
                });
            }

            foreach (FormationScolaire formationScolaire in utilisateur.Conseiller.FormationsScolaires)
            {
                FormationAcademiqueViewModel formationAcademique = new FormationAcademiqueViewModel();
                formationAcademique.GraphId = formationScolaire.GraphKey;
                formationAcademique.GraphIdEtablissement = formationScolaire.Ecole?.GraphKey;
                formationAcademique.Diplome       = formationScolaire.Diplome;
                formationAcademique.Annee         = formationScolaire.DateConclusion;
                formationAcademique.Etablissement = formationScolaire.Ecole?.Nom;

                cVViewModel.FormationsAcademique.Add(formationAcademique);
            }

            foreach (Formation certification in utilisateur.Conseiller.Formations.Where(form => form.Type.Descriminator == "Formation" && form.Type.Description == "Certification"))
            {
                cVViewModel.Certifications.Add(new CertificationViewModel {
                    GraphId = certification.GraphKey, Description = certification.Description, Annee = certification.AnAcquisition, GraphIdGenre = certification.Type.GraphKey
                });
            }

            foreach (Mandat mandat in utilisateur.Conseiller.Mandats)
            {
                MandatViewModel mandatViewModel = new MandatViewModel();
                mandatViewModel.GraphId                 = mandat.GraphKey;
                mandatViewModel.GraphIdProjet           = mandat.Projet.GraphKey;
                mandatViewModel.GraphIdClient           = mandat.Projet.Client.GraphKey;
                mandatViewModel.GraphIdSocieteDeConseil = mandat.Projet.SocieteDeConseil.GraphKey;
                mandatViewModel.GraphIdFonction         = mandat.Fonction.GraphKey;

                mandatViewModel.NomClient = mandat.Projet.Client.Nom;

                int.TryParse(mandat.Numero, out intForParse);
                if (intForParse > 0)
                {
                    mandatViewModel.NumeroMandat = intForParse;
                }

                mandatViewModel.NomEntreprise       = mandat.Projet.SocieteDeConseil.Nom;
                mandatViewModel.TitreProjet         = mandat.Projet.Nom;
                mandatViewModel.TitreMandat         = mandat.Titre;
                mandatViewModel.Envergure           = mandat.Projet.Envergure;
                mandatViewModel.Efforts             = mandat.Efforts;
                mandatViewModel.Fonction            = mandat.Fonction.Description;
                mandatViewModel.ContexteProjet      = mandat.Projet.Description;
                mandatViewModel.PorteeDesTravaux    = mandat.Description;
                mandatViewModel.DebutProjet         = mandat.Projet.DateDebut;
                mandatViewModel.FinProjet           = mandat.Projet.DateFin;
                mandatViewModel.DebutMandat         = mandat.DateDebut;
                mandatViewModel.FinMandat           = mandat.DateFin;
                mandatViewModel.NomReference        = mandat.Projet.NomReference;
                mandatViewModel.TelephoneReference  = mandat.Projet.TelephoneReference;
                mandatViewModel.CellulaireReference = mandat.Projet.CellulaireReference;
                mandatViewModel.CourrielReference   = mandat.Projet.CourrielReference;
                mandatViewModel.FonctionReference   = mandat.Projet.FonctionReference;

                foreach (Technologie technologie in mandat.Projet.Technologies)
                {
                    mandatViewModel.Technologies.Add(new TechnologieViewModel {
                        GraphId = technologie.GraphKey, Description = technologie.Nom
                    });
                }

                foreach (Tache tache in mandat.Taches)
                {
                    mandatViewModel.Taches.Add(new TacheViewModel {
                        GraphId = tache.GraphKey, Description = tache.Description
                    });
                }

                cVViewModel.Mandats.Add(mandatViewModel);
            }

            foreach (Technologie technologie in utilisateur.Conseiller.Technologies)
            {
                cVViewModel.Technologies.Add(new TechnologieViewModel {
                    GraphId = technologie.GraphKey, Description = technologie.Nom, Mois = technologie.MoisDExperience
                });
            }

            foreach (Formation certification in utilisateur.Conseiller.Formations.Where(form => form.Type.Descriminator == "Formation" && form.Type.Description == "Perfectionnement"))
            {
                cVViewModel.Perfectionnements.Add(new PerfectionnementViewModel {
                    GraphId = certification.GraphKey, Description = certification.Description, Annee = certification.AnAcquisition, GraphIdGenre = certification.Type.GraphKey
                });
            }

            foreach (Langue langue in utilisateur.Conseiller.Langues)
            {
                LangueViewModel langueViewModel = new LangueViewModel();
                langueViewModel.GraphId     = langue.GraphKey;
                langueViewModel.Nom         = langue.Nom;
                langueViewModel.NiveauParle = langue.Parle.ToString();
                langueViewModel.NiveauLu    = langue.Lu.ToString();
                langueViewModel.NiveauEcrit = langue.Ecrit.ToString();

                cVViewModel.Langues.Add(langueViewModel);
            }

            return(cVViewModel);
        }