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)); }
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>()); } }
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())); } }
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)); }
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")); }