Esempio n. 1
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));
        }
Esempio n. 2
0
        public ActionResult Detail(string utilisateurId, string mandatId)
        {
            var mandatViewModel = new MandatViewModel();

            var mandat           = mandatGraphRepository.GetOne(mandatId);
            var projet           = mandat.Projet;
            var client           = projet.Client;
            var societeDeConseil = projet.SocieteDeConseil;

            mandatViewModel.DebutMandat      = mandat.DateDebut;
            mandatViewModel.Efforts          = mandat.Efforts;
            mandatViewModel.FinMandat        = mandat.DateFin;
            mandatViewModel.Fonction         = mandat.Fonction?.Description;
            mandatViewModel.GraphId          = mandat.GraphKey;
            mandatViewModel.GraphIdFonction  = mandat.Fonction?.GraphKey;
            mandatViewModel.NumeroMandat     = Convert.ToInt32(mandat.Numero);
            mandatViewModel.PorteeDesTravaux = mandat.Description;
            mandatViewModel.Taches           = GetTaches(utilisateurId, mandat);
            mandatViewModel.TitreMandat      = mandat.Titre;

            mandatViewModel.DebutProjet         = mandat.Projet.DateDebut;
            mandatViewModel.CellulaireReference = projet?.CellulaireReference;
            mandatViewModel.ContexteProjet      = projet?.Description;
            mandatViewModel.CourrielReference   = projet?.CourrielReference;
            mandatViewModel.Envergure           = projet.Envergure;
            mandatViewModel.FinProjet           = projet.DateFin;
            mandatViewModel.GraphIdProjet       = projet?.GraphKey;
            mandatViewModel.FonctionReference   = projet?.FonctionReference;
            mandatViewModel.NomReference        = projet?.NomReference;
            mandatViewModel.Technologies        = GetTechnologies(utilisateurId, mandat);
            mandatViewModel.TelephoneReference  = projet?.TelephoneReference;
            mandatViewModel.TitreProjet         = projet?.Nom;

            mandatViewModel.GraphIdClient = client?.GraphKey;
            mandatViewModel.NomClient     = client?.Nom;

            mandatViewModel.GraphIdSocieteDeConseil = societeDeConseil?.GraphKey;
            mandatViewModel.NomEntreprise           = societeDeConseil?.Nom;

            var editions = new EditionObjectViewModelFactory <MandatViewModel>();

            mandatViewModel.editionObjecViewModels = editions.GetEditions(mandat, projet, client, societeDeConseil);



            var jsonSettings = new Newtonsoft.Json.JsonSerializerSettings();

            jsonSettings.DateFormatString = "yyyy/MM/dd";
            jsonSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
            return(Json(mandatViewModel, jsonSettings));
        }
Esempio n. 3
0
        public ActionResult Edit(string utilisateurId, [FromBody] MandatViewModel mandat)
        {
            var utilisateur      = utilisateurGraphRepository.GetOne(utilisateurId);
            var mandatModel      = mandatGraphRepository.GetOne(mandat.GraphId);
            var projet           = mandatModel.Projet;
            var client           = projet.Client;
            var societeDeConseil = projet.SocieteDeConseil;

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.DebutMandat,
                graphModelPropriete: () => mandatModel.DateDebut,
                noeudModifie: mandatModel);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.Efforts,
                graphModelPropriete: () => mandatModel.Efforts,
                noeudModifie: mandatModel);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.FinMandat,
                graphModelPropriete: () => mandatModel.DateFin,
                noeudModifie: mandatModel);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.NumeroMandat,
                graphModelPropriete: () => mandatModel.Numero,
                noeudModifie: mandatModel);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.PorteeDesTravaux,
                graphModelPropriete: () => mandatModel.Description,
                noeudModifie: mandatModel);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.TitreMandat,
                graphModelPropriete: () => mandatModel.Titre,
                noeudModifie: mandatModel);


            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.GraphIdFonction,
                graphModelPropriete: () => mandatModel.Fonction.GraphKey,
                graphModelProprieteNom: "Fonction", noeudModifie: mandatModel);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.CellulaireReference,
                graphModelPropriete: () => projet.CellulaireReference,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.ContexteProjet,
                graphModelPropriete: () => projet.Description,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.ContexteProjet,
                graphModelPropriete: () => projet.Description,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.Envergure,
                graphModelPropriete: () => projet.Envergure,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.FinProjet,
                graphModelPropriete: () => projet.DateFin,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.FonctionReference,
                graphModelPropriete: () => projet.FonctionReference,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.NomReference,
                graphModelPropriete: () => projet.NomReference,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.TelephoneReference,
                graphModelPropriete: () => projet.TelephoneReference,
                noeudModifie: projet);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.TitreProjet,
                graphModelPropriete: () => projet.Nom,
                noeudModifie: projet);


            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.NomEntreprise,
                graphModelPropriete: () => projet.SocieteDeConseil.Nom,
                noeudModifie: societeDeConseil);

            editionObjectGraphRepository.ChangerPropriete(
                viewModelPropriete: () => mandat.NomClient,
                graphModelPropriete: () => projet.Client.Nom,
                noeudModifie: client);



            return(Json(mandat));
        }
Esempio n. 4
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);
        }