Exemple #1
0
        public ActionResult Edit([Bind(Include = "ID,Title,Description,Contents")] CVVM cvVM)
        {
            if (ModelState.IsValid)
            {
                CV cv = repo.GetCvById(cvVM.ID);
                if (cv == null)
                {
                    return(HttpNotFound());
                }

                cv.Title       = cvVM.Title;
                cv.Description = cvVM.Description;
                if (cvVM.Contents != null)
                {
                    cv.FileName = cvVM.Contents.FileName;
                    cv.MimeType = cvVM.Contents.ContentType;
                    BinaryReader binaryReader = new BinaryReader(cvVM.Contents.InputStream);
                    cv.Content = binaryReader.ReadBytes(cvVM.Contents.ContentLength);
                }

                repo.ChangeCv(cv);

                return(RedirectToAction("Index"));
            }

            return(View(cvVM));
        }
Exemple #2
0
        IEnumerable <CVVM> GetAllCVs()
        {
            using (Context context = new Context())
            {
                var cvVM   = new CVVM();
                int userId = int.Parse(HttpContext.User.Identity.Name);

                var donnees =
                    (

                        from p in context.Personnes
                        where p.Id == userId
                        select new CVsVM
                {
                    CVs = p.CVs.Select(cv => new CVVM
                    {
                        Id = cv.Id,
                        Titre = cv.Titre
                    }),
                }

                    ).FirstOrDefault();

                return(donnees.CVs.ToList <CVVM>());
            }
        }
Exemple #3
0
 public IActionResult CreateCV(CVVM cv)
 {
     using (var context = new Context())
     {
         context.CVs.Add(new CV
         {
             CodePostal      = cv.CodePostal.GetValueOrDefault(),
             Commune         = cv.Commune,
             DateDeNaissance = cv.DateDeNaissance,
             Nom             = cv.Nom,
             NumeroDeRue     = cv.NumeroDeRue.GetValueOrDefault(),
             Permis          = cv.Permis,
             Prenom          = cv.Prenom,
             Rue             = cv.Rue,
             Titre           = cv.Titre
         });
         context.SaveChanges();
         return(View("CreateCV", new CVVM()));
     }
 }
Exemple #4
0
        public ActionResult Create([Bind(Include = "ID,Title,Description,Contents")] CVVM cvVM)
        {
            if (ModelState.IsValid)
            {
                CV cv = new CV()
                {
                    Title       = cvVM.Title,
                    Description = cvVM.Description,
                    MimeType    = cvVM.Contents.ContentType,
                    Uploader    = repo.GetUserByName(User.Identity.Name),
                    FileName    = cvVM.Contents.FileName,
                    Content     = null
                };

                BinaryReader binaryReader = new BinaryReader(cvVM.Contents.InputStream);
                cv.Content = binaryReader.ReadBytes(cvVM.Contents.ContentLength);

                repo.AddCv(cv);

                return(RedirectToAction("Index"));
            }

            return(View(cvVM));
        }
Exemple #5
0
        public ActionResult AddOrEditCV(CVVM cv)
        {
            int userId = int.Parse(HttpContext.User.Identity.Name);
            int cvId   = cv.Id;

            IEnumerable <int> formationsIds  = cv.FormationsIds;
            IEnumerable <int> competencesIds = cv.CompetencesIds;
            IEnumerable <int> experiencesIds = cv.ExperiencesIds;
            IEnumerable <int> languesIds     = cv.LanguesIds;


            if (ModelState.IsValid) //Despite its name, it doesn't actually know anything about any model classes.
                                    //The ModelState represents a Enumerable of name and value pairs that were submitted to the server during a POST.
                                    //It also contains a Enumerable of error messages for each value submitted
            {
                if (cv.FormAction == "AjoutTraitement")
                {
                    CV entityCV = new CV();

                    entityCV.Titre        = cv.Titre;
                    entityCV.MontrerPhoto = cv.MontrerPhoto;
                    entityCV.PersonneId   = userId;

                    using (Context context = new Context())
                    {
                        context.CVs.Add(entityCV);
                        context.SaveChanges();
                        cvId = entityCV.Id;
                    }
                }
                else if (cv.FormAction == "EditionTraitement")
                {
                    using (Context context = new Context())
                    {
                        var result = (from c in context.CVs
                                      where c.Id == cvId && c.PersonneId == userId
                                      select c).SingleOrDefault();

                        if (result != null)
                        {
                            result.Titre        = cv.Titre;
                            result.MontrerPhoto = cv.MontrerPhoto;

                            context.SaveChanges();
                        }
                    }
                }


                // many to many add or delete
                //TODO essayer  d'en faire une fonction, mais le pb cest que le context.Formations, context.Competences, etc n'ont pas le même type
                using (Context context = new Context())
                {
                    CV currentCV = (from c in context.CVs
                                    where c.Id == cvId && c.PersonneId == userId
                                    select c).FirstOrDefault();

                    //-----

                    if (formationsIds != null)
                    {
                        var clientSideFormationsIds = (from f in context.Formations
                                                       where formationsIds.Contains(f.Id)
                                                       select f.Id);

                        var serverSideFormationsIds = (from f in currentCV.Formations
                                                       select f.Id);

                        var deletedFormationsIds = serverSideFormationsIds.Except(clientSideFormationsIds).ToList <int>();
                        var addedFormationsIds   = clientSideFormationsIds.Except(serverSideFormationsIds).ToList <int>();

                        var deletedFormations = (from f in context.Formations
                                                 where deletedFormationsIds.Contains(f.Id)
                                                 select f);

                        foreach (var formation in deletedFormations)
                        {
                            currentCV.Formations.Remove(formation);
                        }

                        var addedFormations = (from f in context.Formations
                                               where addedFormationsIds.Contains(f.Id)
                                               select f);

                        foreach (var formation in addedFormations)
                        {
                            currentCV.Formations.Add(formation);
                        }
                    }
                    else
                    {
                        currentCV.Formations.Clear();
                    }

                    //-----

                    if (competencesIds != null)
                    {
                        var clientSideCompetencesIds = (from c in context.Competences
                                                        where competencesIds.Contains(c.Id)
                                                        select c.Id);

                        var serverSideCompetencesIds = (from c in currentCV.Competences
                                                        select c.Id);

                        var deletedCompetencesIds = serverSideCompetencesIds.Except(clientSideCompetencesIds).ToList <int>();
                        var addedCompetencesIds   = clientSideCompetencesIds.Except(serverSideCompetencesIds).ToList <int>();

                        var deletedCompetences = (from c in context.Competences
                                                  where deletedCompetencesIds.Contains(c.Id)
                                                  select c);

                        foreach (var competence in deletedCompetences)
                        {
                            currentCV.Competences.Remove(competence);
                        }

                        var addedCompetences = (from c in context.Competences
                                                where addedCompetencesIds.Contains(c.Id)
                                                select c);

                        foreach (var comp in addedCompetences)
                        {
                            currentCV.Competences.Add(comp);
                        }
                    }
                    else
                    {
                        currentCV.Competences.Clear();
                    }

                    //-----

                    if (experiencesIds != null)
                    {
                        var clientSideExperiencesIds = (from e in context.Experiences
                                                        where experiencesIds.Contains(e.Id)
                                                        select e.Id);

                        var serverSideExperiencesIds = (from e in currentCV.Experiences
                                                        select e.Id);

                        var deletedExperiencesIds = serverSideExperiencesIds.Except(clientSideExperiencesIds).ToList <int>();
                        var addedExperiencesIds   = clientSideExperiencesIds.Except(serverSideExperiencesIds).ToList <int>();

                        var deletedExperiences = (from e in context.Experiences
                                                  where deletedExperiencesIds.Contains(e.Id)
                                                  select e);

                        foreach (var exp in deletedExperiences)
                        {
                            currentCV.Experiences.Remove(exp);
                        }

                        var addedExperiences = (from e in context.Experiences
                                                where addedExperiencesIds.Contains(e.Id)
                                                select e);

                        foreach (var exp in addedExperiences)
                        {
                            currentCV.Experiences.Add(exp);
                        }
                    }
                    else
                    {
                        currentCV.Experiences.Clear();
                    }

                    //-----

                    if (languesIds != null)
                    {
                        var clientSideLanguesIds = (from l in context.Langues
                                                    where languesIds.Contains(l.Id)
                                                    select l.Id);

                        var serverSideLanguesIds = (from l in currentCV.Langues
                                                    select l.Id);

                        var deletedLanguesIds = serverSideLanguesIds.Except(clientSideLanguesIds).ToList <int>();
                        var addedLanguesIds   = clientSideLanguesIds.Except(serverSideLanguesIds).ToList <int>();

                        var deletedLangues = (from f in context.Langues
                                              where deletedLanguesIds.Contains(f.Id)
                                              select f);

                        foreach (var lang in deletedLangues)
                        {
                            currentCV.Langues.Remove(lang);
                        }

                        var addedLangues = (from l in context.Langues
                                            where addedLanguesIds.Contains(l.Id)
                                            select l);

                        foreach (var lang in addedLangues)
                        {
                            currentCV.Langues.Add(lang);
                        }
                    }
                    else
                    {
                        currentCV.Langues.Clear();
                    }

                    context.SaveChanges();
                }
            }

            return(RedirectToAction("CVs"));
        }