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));
        }
示例#2
0
        public ActionResult Add(string utilisateurId, [FromBody] MandatViewModel mandat)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var conseiller  = utilisateur.Conseiller;

            var societeDeConseil = new Employeur {
                Nom = mandat.NomEntreprise
            };

            var client = new Client {
                Nom = mandat.NomClient
            };

            var projet = new Projet
            {
                DateDebut           = mandat.DebutProjet,
                CellulaireReference = mandat.CellulaireReference,
                Description         = mandat.ContexteProjet,
                CourrielReference   = mandat.CourrielReference,
                Envergure           = mandat.Envergure,
                DateFin             = mandat.FinProjet,
                FonctionReference   = mandat.FonctionReference,
                NomReference        = mandat.NomReference,
                TelephoneReference  = mandat.TelephoneReference,
                Nom = mandat.TitreProjet,
                SocieteDeConseil = societeDeConseil,
                Client           = client,
                Technologies     = mandat.Technologies.Select(x => technologieGraphRepository.GetOne(x.GraphId)).ToList()
            };

            var fonction = fonctionGraphRepository.GetOne(mandat.GraphIdFonction);

            var mandatModel = new Mandat
            {
                DateDebut   = mandat.DebutMandat,
                Efforts     = mandat.Efforts,
                DateFin     = mandat.FinMandat,
                Numero      = mandat.NumeroMandat.ToString(),
                Description = mandat.PorteeDesTravaux,
                Titre       = mandat.TitreMandat,
                Fonction    = fonction,
                Projet      = projet,
                Taches      = mandat.Taches.Select(x => tacheGraphRepository.Search(new Tache {
                    Description = x.Description
                }, true).First()).ToList()
            };

            conseiller.Mandats.Add(mandatModel);
            mandatGraphRepository.Add(mandatModel);

            editionObjectGraphRepository.AjouterNoeud(objetAjoute: mandatModel, viewModelProprieteNom: "Mandats", noeudModifie: utilisateur.Conseiller);

            mandat.GraphId = mandatModel.GraphKey;

            return(Json(mandat));
        }
示例#3
0
        public ActionResult AddTechnologie(string utilisateurId, string mandatId, [FromBody] TechnologieViewModel technologie)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var mandatModel = mandatGraphRepository.GetOne(mandatId);

            var technologieModel = technologieGraphRepository.GetOne(technologie.GraphId);

            editionObjectGraphRepository.AjouterNoeud(objetAjoute: technologieModel, viewModelProprieteNom: "Technologies", noeudModifie: mandatModel);

            technologie.GraphId = technologieModel.GraphKey;
            return(Json(technologie));
        }
示例#4
0
        public ViewModel Add(string utilisateurId, ViewModel viewModel)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);

            var graphObject = CreateGraphObject(viewModel);

            editionObjectGraphRepository.AjouterNoeud(
                objetAjoute: graphObject,
                viewModelProprieteNom: GetProprieteModifiee(),
                noeudModifie: utilisateur.Conseiller);

            viewModel.GraphId = graphObject.GraphKey;

            return(viewModel);
        }
示例#5
0
        public ActionResult AddTache(string utilisateurId, string mandatId, [FromBody] TacheViewModel tache)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var mandatModel = mandatGraphRepository.GetOne(mandatId);

            var tacheModel = new Tache {
                Description = tache.Description
            };

            tacheGraphRepository.Add(tacheModel);
            editionObjectGraphRepository.AjouterNoeud(objetAjoute: tacheModel, viewModelProprieteNom: "Taches", noeudModifie: mandatModel);

            tache.GraphId = tacheModel.GraphKey;
            return(Json(tache));
        }
        public ActionResult Add(string utilisateurId, [FromBody] DomaineDInterventionViewModel domain)
        // POST: Mandat/Create
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);

            var domainModel = new DomaineDIntervention()
            {
                Description = domain.Description
            };
            var savedDomainModel = domaineDInterventionGraphRepository.CreateIfNotExists(domainModel);

            editionObjectGraphRepository.AjouterNoeud(
                objetAjoute: savedDomainModel,
                viewModelProprieteNom: "DomaineDInterventions",
                noeudModifie: utilisateur.Conseiller);

            domain.GraphId = savedDomainModel.GraphKey;
            return(Json(domain));
        }
示例#7
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));
        }
示例#8
0
        public ActionResult Add(string utilisateurId, [FromBody] List <TechnologieViewModel> technologies)
        {
            try
            {
                foreach (var technologie in technologies)
                {
                    var utilisateur   = utilisateurGraphRepository.GetOne(utilisateurId);
                    var _technologies = utilisateur.Conseiller.Technologies;

                    if (_technologies.Any(x => x.GraphKey == technologie.GraphId))
                    {
                        continue;
                    }

                    if (utilisateur.Conseiller.EditionObjects.Any(x => x.ObjetAjoute?.GraphKey == technologie.GraphId))
                    {
                        continue;
                    }

                    var technologieModel = technologieGraphRepository.GetOne(technologie.GraphId);
                    technologieModel.MoisDExperience = technologie.Mois;

                    editionObjectGraphRepository.AjouterNoeud(
                        objetAjoute: technologieModel,
                        viewModelProprieteNom: "Technologies",
                        noeudModifie: utilisateur.Conseiller);

                    technologie.GraphId = technologieModel.GraphKey;
                }
                return(Json(new { ok = true }));
            }
            catch (Exception ex)
            {
                return(null);
            }
        }