public ApercuPlanCours GetUser(int id)
        {
            var apercu = new ApercuPlanCours();
            var query  = from user in _db.PlanCoursUtilisateur
                         where user.IdPlanCours == id
                         select user;

            if (!query.Any())
            {
                return(null);
            }
            var planCoursUser = query.First();
            var utilisateur   = HttpContext.GetOwinContext()
                                .GetUserManager <ApplicationUserManager>()
                                .FindById(planCoursUser.IdPlanCoursUtilisateur);
            var bureauProf   = planCoursUser.BureauProf;
            var noPoste      = planCoursUser.Poste;
            var courrielProf = utilisateur.Email;
            var nomProf      = utilisateur.nom;
            var prenomProf   = utilisateur.prenom;


            apercu.CreatePageTitre(nomProf, prenomProf, bureauProf, noPoste, courrielProf);
            return(apercu);
        }
 public ActionResult Create(ApercuViewModel ApercuViewModel, FormCollection collection)
 {
     try {
         string    UserId    = User.Identity.GetUserId();
         PlanCadre planCadre = _db.PlanCadre.Find(ApercuViewModel.IdPlanCadre);
         var       Cours     = from cours in _db.Cours
                               where cours.IdPlanCadre == ApercuViewModel.IdPlanCadre
                               select cours;
         int CoursId = Cours.First().IdCours;
         Models.Plan_Cours.PlanCours PC = new Models.Plan_Cours.PlanCours()
         {
             DateCreation    = DateTime.Today,
             DateValidation  = null,
             IdCours         = CoursId,
             StatutPlanCours = false,
         };
         _db.PlanCours.Add(PC);
         _db.SaveChanges();
         var idPlanCours = PC.IdPlanCours;
         var PCU         = new PlanCoursUtilisateur()
         {
             IdPlanCoursUtilisateur = UserId,
             IdPlanCours            = idPlanCours,
             BureauProf             = ApercuViewModel.BureauProf,
             Poste = ApercuViewModel.NoPoste,
         };
         _db.PlanCoursUtilisateur.Add(PCU);
         _db.SaveChanges();
         _apercu = GetUser(idPlanCours);
         for (var i = 1; i < 15; i++)
         {
             var texteSectionDefault = new TexteSection {
                 IdPlanCours = idPlanCours, IdContenuSection = i
             };
             _db.TexteSection.Add(texteSectionDefault);
             _db.SaveChanges();
         }
         return(RedirectToAction("Index", new
         {
             apercu = _apercu,
             id = PC.IdPlanCours,
         }));
     }
     catch
     {
         return(View());
     }
 }
        public ActionResult Index(ApercuPlanCours apercu, int?id)
        {
            viewModel = new ApercuViewModel();
            var courrielConnexion = User.Identity.Name;
            var requete           = from acces in _db.AccesProgramme
                                    where acces.UserMail == courrielConnexion
                                    select acces.Discipline;
            var listePlanCours = new List <Models.Plan_Cours.PlanCours>();

            foreach (var planCoursId in GetPlanCours())
            {
                listePlanCours.Add(_db.PlanCours.Find(planCoursId));
            }
            foreach (var planCours in listePlanCours)
            {
                var nomSection = from nomS in _db.NomSection
                                 join cs in _db.ContenuSection on nomS.IdNomSection equals cs.IdNomSection
                                 join ts in _db.TexteSection on cs.IdContenuSection equals ts.IdContenuSection
                                 join pco in _db.PlanCours on ts.IdPlanCours equals pco.IdPlanCours
                                 where pco.IdPlanCours == planCours.IdPlanCours
                                 select nomS;

                viewModel.MainPageViewModel.NomSections = new List <List <NomSection> >
                {
                    new List <NomSection> {
                        nomSection as NomSection
                    }
                };
            }

            if (id == null)
            {
                id = 1;
            }
            var idPlanCadre = from planCours in _db.PlanCours
                              join cours in _db.Cours on planCours.IdCours equals cours.IdCours
                              join planCadre in _db.PlanCadre on cours.IdPlanCadre equals planCadre.IdPlanCadre
                              where planCours.IdPlanCours == id
                              select planCadre.IdPlanCadre;

            viewModel.MainPageViewModel.PlanCours      = listePlanCours;
            viewModel.MainPageViewModel.ContenuSection = _db.ContenuSection.ToList();
            viewModel.MainPageViewModel.NomSection     = _db.NomSection.ToList();
            apercu = GetUser(Convert.ToInt32(id));
            if (apercu != null)
            {
                List <PlanCoursDepart> pcd = new List <PlanCoursDepart>();
                ViewBag.courrielProf   = apercu.CourrielProf;
                ViewBag.imageCegep     = VirtualPathUtility.ToAbsolute(apercu.ImageCegep);
                ViewBag.imageDepart    = VirtualPathUtility.ToAbsolute(apercu.ImageDepart);
                ViewBag.phrase         = apercu.Phrase;
                ViewBag.infosCours     = CreationInfoCours(Convert.ToInt32(idPlanCadre.First()));
                ViewBag.infosProf      = apercu.InfosProf;
                ViewBag.LocalProf      = apercu.LocalProf;
                ViewBag.session        = apercu.Session;
                viewModel.TexteContenu = new string[15];
                viewModel.TitreSection = new string[15];
                var listeSection = RetourneSection(requete.First(), Convert.ToInt32(id));
                viewModel.IndexSection = listeSection;
                foreach (var section in listeSection)
                {
                    try
                    {
                        var texte = CreationSectionDepart(Convert.ToInt32(id), section, requete.First());
                        viewModel.TexteContenu[section] = texte;
                        var titre = CreationTitreSection(Convert.ToInt32(id), section);
                        viewModel.TitreSection[section] = titre;
                    }
                    catch (Exception)
                    {
                        var textecontenu = CreationSectionDefaut(Convert.ToInt32(id), section, requete.First());
                        viewModel.TexteContenu[section] = textecontenu;
                        var titreSection = CreationTitreSection(Convert.ToInt32(id), section);
                        viewModel.TitreSection[section] = titreSection;
                    }
                }

                CreationEnonceCompetence(viewModel, (int)id);
            }
            else
            {
                this.AddToastMessage("Attention", "Aucun plan cours n'est associé à votre compte", ToastType.Warning);
            }

            return(View(viewModel));
        }