public ActionResult All(string utilisateurId)
        {
            Func <GraphObject, ViewModel> map = this.map;

            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var formations  = utilisateur.Conseiller?.FormationsScolaires?.Cast <GraphObject>().ToList();;

            if (formations == null)
            {
                return(Json(new List <FormationAcademiqueViewModel>()));
            }
            var noeudModifie = new List <GraphObject>();

            noeudModifie.Add(utilisateur.Conseiller);
            noeudModifie.AddRange(formations);

            var formationsViewModel = ViewModelFactory <FormationScolaire, FormationAcademiqueViewModel> .GetViewModels(utilisateurId : utilisateurId, noeudsModifie : noeudModifie, graphObjects : formations, map : map);

            if (formationsViewModel.Count > 1)
            {
                formationsViewModel = formationsViewModel.OrderByDescending(x => ((FormationAcademiqueViewModel)x).Annee).ToList();
            }

            return(Json(formationsViewModel));
        }
예제 #2
0
        public ActionResult Detail(string utilisateurId)
        {
            var bioViewModel = new BioViewModel();

            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);

            bioViewModel.Nom    = utilisateur.Nom;
            bioViewModel.Prenom = utilisateur.Prenom;

            var cv = utilisateur?.Conseiller?.CVs?.First();

            if (cv == null)
            {
                return(Json(new { }));
            }

            bioViewModel.ResumeExperience = cv.ResumeExperience;

            var conseiller = utilisateur.Conseiller;

            bioViewModel.Fonction = conseiller.Fonction.GraphKey;

            var editions = new EditionObjectViewModelFactory <BioViewModel>();

            bioViewModel.editionObjecViewModels = editions.GetEditions(utilisateur, cv, conseiller);

            var returnJon = new
            {
            };

            return(Json(bioViewModel));
        }
예제 #3
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));
        }
예제 #4
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));
        }
예제 #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));
        }
예제 #6
0
        public List <ViewModel> All(string utilisateurId)
        {
            var utilisateur  = utilisateurGraphRepository.GetOne(utilisateurId);
            var graphObjects = GetGraphObjects(utilisateur);

            if (graphObjects == null)
            {
                return(new List <ViewModel>());
            }

            var noeudModifie = new List <GraphObject>();

            noeudModifie.Add(utilisateur.Conseiller);
            noeudModifie.AddRange(graphObjects);
            var graphObjectsViewModel = GetViewModels(utilisateur.GraphKey, noeudModifie, graphObjects, Map);

            return(graphObjectsViewModel);
        }
예제 #7
0
        public ActionResult All(string utilisateurId)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var tecnologies = utilisateur.Conseiller?.Technologies?.Cast <GraphObject>().ToList();

            if (tecnologies == null)
            {
                return(Json(new List <TechnologieViewModel>()));
            }
            var noeudModifie = new List <GraphObject>();

            noeudModifie.Add(utilisateur.Conseiller);
            noeudModifie.AddRange(tecnologies);
            var tecnologiesViewModel = ViewModelFactory <Technologie, TechnologieViewModel> .GetViewModels(
                utilisateurId : utilisateurId,
                noeudsModifie : noeudModifie,
                graphObjects : tecnologies,
                map : Map);

            if (tecnologiesViewModel.Count > 0)
            {
                List <object> newJson = new List <object>();

                var allCategories = tecnologiesViewModel.Select(s => (s as TechnologieViewModel).Categorie).Distinct().OrderBy(o => o).ToList();

                allCategories.ForEach(f =>
                {
                    newJson.Add(new
                    {
                        categorie       = f,
                        dataByCategorie = tecnologiesViewModel.Where(w => (w as TechnologieViewModel).Categorie == f).ToList()
                    });
                });

                return(Json(newJson));
            }
            else
            {
                return(Json(new List <TechnologieViewModel>()));
            }
        }
        public ActionResult All(string utilisateurId)
        {
            Func <GraphObject, ViewModel> map = this.map;

            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var domains     = utilisateur.Conseiller?.DomaineDInterventions;

            if (domains == null)
            {
                return(Json(new List <DomaineDInterventionViewModel>()));
            }

            var domainsObjects   = domains.Cast <GraphObject>().ToList();
            var domainsViewModel = ViewModelFactory <DomaineDIntervention, DomaineDInterventionViewModel> .GetViewModels(
                utilisateurId : utilisateurId,
                noeudsModifie : new List <GraphObject> {
                utilisateur.Conseiller
            },
                graphObjects : domainsObjects,
                map : map);

            return(Json(domainsViewModel));
        }
예제 #9
0
        public ActionResult All(string utilisateurId)
        {
            Func <GraphObject, ViewModel> map = this.map;

            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var langues     = utilisateur.Conseiller?.Langues?.Cast <GraphObject>().ToList();

            if (langues == null)
            {
                return(Json(new List <LangueViewModel>()));
            }
            var noeudModifie = new List <GraphObject>();

            noeudModifie.Add(utilisateur.Conseiller);
            noeudModifie.AddRange(langues);
            var languesViewModel = ViewModelFactory <Langue, LangueViewModel> .GetViewModels(
                utilisateurId : utilisateurId,
                noeudsModifie : noeudModifie,
                graphObjects : langues,
                map : map);

            return(Json(languesViewModel));
        }
예제 #10
0
        public async System.Threading.Tasks.Task <IActionResult> IndexAsync(string utilisateurId)
        {
            WordWriter  wordWriter;
            Utilisateur utilisateur;

            UtilisateurGraphRepository utilisateurGraph = new UtilisateurGraphRepository();

            utilisateur = utilisateurGraph.GetOne(utilisateurId);

            var path          = "Files";
            var fileDirectory = new DirectoryInfo(path);

            if (!fileDirectory.Exists)
            {
                fileDirectory.Create();
            }

            var fileName = $"{utilisateur.Nom}.docx";
            var filePath = $"{path}\\{fileName}";

            using (var document = WordprocessingDocument.Create(filePath, WordprocessingDocumentType.Document))
            {
                wordWriter = new WordWriter(document, utilisateur);
                wordWriter.CreateDummyTest();

                var memory = new MemoryStream();
                using (var stream = new FileStream(filePath, FileMode.Open))
                {
                    await stream.CopyToAsync(memory);
                }
                memory.Position = 0;
                System.IO.File.Delete(filePath);
                HttpContext.Response.Headers.Add("Access-Control-Expose-Headers", "*");
                return(File(memory, "application/vnd.ms-word", fileName));
            }
        }
예제 #11
0
        public ActionResult All(string utilisateurId)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);
            var mandats     = utilisateur.Conseiller?.Mandats?.Cast <GraphObject>().ToList();



            if (mandats == null)
            {
                return(Json(new List <ResumeInterventionViewModel>()));
            }

            var noeudModifie = new List <GraphObject>();

            noeudModifie.Add(utilisateur.Conseiller);
            noeudModifie.AddRange(mandats);
            var resumeInterventionViewModel = ViewModelFactory <Mandat, ResumeInterventionViewModel> .GetViewModels(
                utilisateurId : utilisateurId,
                noeudsModifie : noeudModifie,
                graphObjects : mandats,
                map : map);

            return(Json(resumeInterventionViewModel));
        }
예제 #12
0
        public ActionResult EnvoyerPourApprobation(string utilisateurId)
        {
            var utilisateur = utilisateurGraphRepository.GetOne(utilisateurId);

            return(Ok());
        }