public ActionResult DetailsFormation(String nomSeo) { var vm = new FormationAvecAvisViewModel(); using (var context = new AvisEntities()) { var FormationEntity = context.Formations .Where(f => f.NomSeo == nomSeo) .FirstOrDefault(); if (FormationEntity == null) { return(RedirectToAction("Acceuil", "Home")); } vm.FormationNom = FormationEntity.Nom; vm.FormationDescription = FormationEntity.Description; vm.FormationNomSeo = nomSeo; vm.FormationUrl = FormationEntity.Url; vm.Note = FormationEntity.Avis.Average(a => a.Note); vm.NombreAvis = FormationEntity.Avis.Count(); vm.Avis = FormationEntity.Avis.ToList(); } return(View(vm)); }
public bool EstAutoriserAcommenter(Avis.Data.Avis avisSave) { using (var context = new AvisEntities()) { return(!context.Avis.Any(avis => avis.IdFormation == avisSave.IdFormation && avis.UserId == avisSave.UserId)); } }
public ActionResult LaisserUnAvis(string nSeo) { Formation formation; using (var context = new AvisEntities()) { formation = context.Formations.FirstOrDefault(f => f.NomSeo == nSeo); if (formation == null) { RedirectToAction("ToutesLesFormations", "Formations"); } } AvisManager la = new AvisManager(); var user_id = User.Identity.GetUserId(); if (!la.IsLimiterLesAvis(user_id, formation.Id)) { LaisserUnAvisViewModel vm = new LaisserUnAvisViewModel(); vm.formationNseo = nSeo; vm.formationName = formation.Nom; return(View(vm)); } return(RedirectToAction("DetailsFormation", "Formations", new { nSeo = nSeo })); }
public ActionResult DetailsFormation(string nomSeo) { var vm = new FormationAvecAvisViewModel(); using (var context = new AvisEntities()) { var formationEntity = context.Formation.Where(f => f.NomSeo == nomSeo).FirstOrDefault(); if (formationEntity == null) { return(RedirectToAction("Accueil", "Home")); } vm.FormationNom = formationEntity.Nom; vm.FormationDescription = formationEntity.Description; vm.FormationNomSeo = nomSeo; vm.FormationUrl = formationEntity.Url; if (formationEntity.Avis.Count > 0) { vm.Note = formationEntity.Avis.Average(a => a.Note); } vm.NombreAvis = formationEntity.Avis.Count; vm.Avis = formationEntity.Avis.OrderByDescending(a => a.DateAvis).ToList(); } return(View(vm)); }
public DetailFormation ObtenirDetailsFormation(string nomSeo) { DetailFormation detailFormationEntity = null; using (var context = new AvisEntities()) { Formation detailEntity = context.Formation.SingleOrDefault(f => f.NomSeo == nomSeo); if (detailEntity != null) { detailFormationEntity = new DetailFormation(detailEntity) { MoyenneDesVotes = 0, NombreVotant = 0 }; if (detailEntity.Avis.Any()) { detailFormationEntity.MoyenneDesVotes = Math.Round(detailEntity.Avis.Average(a => a.Note), 1); detailFormationEntity.NombreVotant = detailEntity.Avis.Count(); detailFormationEntity.Avis = detailEntity.Avis.ToList(); } } } return(detailFormationEntity); }
public List <DetailAvis> ObtenirTousLesAvis() { List <DetailAvis> derniersAvisListe = null; using (var context = new AvisEntities()) { if (context.Avis.Any()) { derniersAvisListe = new List <DetailAvis>(); var derniersAvis = context.Avis.OrderByDescending(a => a.DateAvis).Take(10).ToList(); if (derniersAvis != null) { foreach (Avis.Data.Avis item in derniersAvis) { DetailAvis da = new DetailAvis(item.DateAvis); da.Formation = new Formation(); da.Formation.Nom = item.Formation.Nom; da.Description = item.Description; da.Nom = item.Nom; derniersAvisListe.Add(da); } } } } return(derniersAvisListe); }
// GET: Formation public ActionResult ToutesLesFormations() { var vm = new AccueilViewModel(); //using -->variable de contexte détruite après utilisation using (var context = new AvisEntities()) { var listFormation = context.Formation.OrderBy(x => Guid.NewGuid()).ToList(); foreach (var f in listFormation) { var dto = new FormationAvecAvisDto(); dto.Formation = f; if (f.Avis.Count == 0) { dto.Note = 0; } else { dto.Note = Math.Round(f.Avis.Average(a => a.Note), 2); } vm.ListFormations.Add(dto); } } return(View(vm)); }
public ActionResult Index() { var vml = new List <ViewFormationAvisModel>(); var listFormations = new List <Formation>(); using (var context = new AvisEntities()) { listFormations = context.Formations.OrderBy(x => Guid.NewGuid()).Take(4).ToList(); foreach (var l in listFormations) { var vm = new ViewFormationAvisModel(); vm.id = l.Id; vm.nom = l.Nom; vm.url = l.Url; vm.description = l.Description; vm.nomseo = l.NomSeo; vm.nombreAvis = l.Avis.Count(); if (l.Avis.Count > 0) { vm.noteFormation = l.Avis.Average(f => f.Note); } else { vm.noteFormation = 0; } vm.avis = l.Avis.ToList(); vml.Add(vm); } } return(View(vml)); }
//part 2 public ActionResult DetailsFormation(string nSeo = "none") { var formation = new Formation(); ViewFormationAvisModel vm = new ViewFormationAvisModel(); using (var context = new AvisEntities()) { formation = context.Formations.Where(f => f.NomSeo == nSeo).FirstOrDefault(); if (formation == null) { RedirectToAction("Index", "Home"); } else { vm.id = formation.Id; vm.nom = formation.Nom; vm.url = formation.Url; vm.description = formation.Description; vm.nomseo = formation.NomSeo; vm.nombreAvis = formation.Avis.Count(); if (formation.Avis.Count > 0) { vm.noteFormation = formation.Avis.Average(f => f.Note); } else { vm.noteFormation = 0; } vm.avis = formation.Avis.ToList(); } } return(View(vm)); }
public void AjouterUnAvis(string user_ids, string descriptions, string notes, string nSeos) { PersonManager mgr = new PersonManager(); Avi nouvelAvi = new Avi(); nouvelAvi.DateAvis = DateTime.Now; nouvelAvi.Description = descriptions; nouvelAvi.UserId = user_ids; double dNote = 0; if (!double.TryParse(notes, out dNote)) { throw new Exception("Parse Invalid"); } else { nouvelAvi.Note = dNote; } using (var context = new AvisEntities()) { var formation = context.Formations.FirstOrDefault(f => f.NomSeo == nSeos); nouvelAvi.IdFormation = formation.Id; nouvelAvi.Nom = mgr.GetNameByUserId(user_ids); context.Avis.Add(nouvelAvi); context.SaveChanges(); } }
// public ActionResult SaveComment(string commentaire, string nom, string note, string nomSeo) public ActionResult SaveComment(SaveCommentViewModel comment) { Avis nouvelAvis = new Avis { DateAvis = DateTime.Now, Description = comment.Commentaire, Nom = comment.Nom }; double dNote = 0; if (!double.TryParse(comment.Note, NumberStyles.Any, CultureInfo.InvariantCulture, out dNote)) { throw new Exception("Impossible de parser la note " + comment.Note); } nouvelAvis.Note = dNote; using (var context = new AvisEntities()) { var formationEntity = context.Formations .FirstOrDefault(f => f.NomSeo == comment.NomSeo); if (formationEntity == null) { return(RedirectToAction("Acceuil", "Home")); } nouvelAvis.IdFormation = formationEntity.Id; context.Avis.Add(nouvelAvis); context.SaveChanges(); } return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.NomSeo })); }
public void AjouterAvis(Avis.Data.Avis avis) { using (var context = new AvisEntities()) { context.Avis.Add(avis); context.SaveChanges(); } }
// GET: Formations //part 1 public ActionResult ToutesLesFormations() { var listFormations = new List <Formation>(); using (var context = new AvisEntities()) { listFormations = context.Formations.ToList(); } return(View(listFormations)); }
public string GetNomFromId(string id) { using (var context = new AvisEntities()) { var personEntity = context.Personne.FirstOrDefault(p => p.Id == id); if (personEntity == null) { return("Anonyme"); } return(personEntity.Nom); } }
public bool EstAutoriseACommenter(string userId, int formationId) { using (var context = new AvisEntities()) { var personEntity = context.Avis.FirstOrDefault(p => p.UserId == userId && p.IdFormation == formationId); if (personEntity == null) { return(true); } return(false); } }
public static bool ObtenirFormation(string nomSeo, out Formation formation) { formation = null; using (var context = new AvisEntities()) { var formationContext = context.Formation.SingleOrDefault(f => string.Compare(f.NomSeo, nomSeo, true) == 0); if (formationContext != null) { formation = formationContext; return(true); } return(false); } }
public List <Avis.Data.Avis> ObtenirAvis(int trainingId) { List <Avis.Data.Avis> TousAvis = null; using (var context = new AvisEntities()) { if (context.Avis.Any(a => a.IdFormation == trainingId)) { TousAvis = new List <Avis.Data.Avis>(); TousAvis = context.Avis.Where(a => a.IdFormation == trainingId).ToList(); } } return(TousAvis); }
public List <Formation> ObtenirFormations() { List <Formation> ToutesFormations = null; using (var context = new AvisEntities()) { if (context.Formation.Any()) { ToutesFormations = new List <Formation>(); ToutesFormations = context.Formation.ToList(); } } return(ToutesFormations); }
public string GetNameByUserId(string user_id) { using (var context = new AvisEntities()) { var namePerson = context.People.Where(f => f.User_id == user_id).FirstOrDefault(); if (namePerson == null) { return("anonyme"); } else { return(namePerson.Nom); } } }
public void InsertPersonnalInfo(string id, string nom) { using (var context = new AvisEntities()) { var personEntity = context.Personne.FirstOrDefault(p => p.Id == id); if (personEntity == null) { var p = new Personne(); p.Id = id; p.Nom = nom; context.Personne.Add(p); context.SaveChanges(); } } }
public void InsertNom(string userId, string nom) { using (var context = new AvisEntities()) { var personEntity = context.Personne.FirstOrDefault(p => p.UserId == userId); if (personEntity == null) { var p = new Personne(); p.Nom = nom; p.UserId = userId; context.Personne.Add(p); context.SaveChanges(); } } }
//public ActionResult SaveComment(string commentaire, string nom, string note, string nomSeo) public ActionResult SaveComment(SaveCommentViewModel comment) { using (var context = new AvisEntities()) { var formationEntity = context.Formation.FirstOrDefault(f => f.NomSeo == comment.nomSeo); if (formationEntity == null) { return(RedirectToAction("Acceuil", "Home")); } Avis nouvelAvis = new Avis(); nouvelAvis.DateAvis = DateTime.Now; nouvelAvis.Description = comment.commentaire; nouvelAvis.UserId = User.Identity.GetUserId(); var userId = User.Identity.GetUserId(); var mgerUnicite = new UniqueAvisVerification(); if (!mgerUnicite.EstAuthoriseACommenter(userId, formationEntity.Id)) { TempData["Message"] = "Désolé, vous ne pouvez poster qu'un seul avis par formation"; return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.nomSeo })); } var mger = new PersonneManager(); nouvelAvis.Nom = mger.GetNomFromUserId(userId); double dNote = 0; if (!double.TryParse(comment.note, NumberStyles.Any, CultureInfo.InvariantCulture, out dNote)) { throw new Exception("impossible de parser la note " + comment.note); } nouvelAvis.Note = dNote; nouvelAvis.IdFormation = formationEntity.Id; context.Avis.Add(nouvelAvis); context.SaveChanges(); } return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.nomSeo })); }
public ActionResult LaisserUnAvis(string nomSeo) { var vm = new LaisserUnAvisViewModel(); vm.NomSeo = nomSeo; using (var context = new AvisEntities()) { var formationEntity = context.Formation.FirstOrDefault(f => f.NomSeo == nomSeo); if (formationEntity == null) { return(RedirectToAction("Accueil", "Home")); } vm.FormationName = formationEntity.Nom; } return(View(vm)); }
public void InsertPerson(string user_id, string nom) { using (var context = new AvisEntities()) { var person = context.People.Where(f => f.User_id == user_id).FirstOrDefault(); if (person == null) { Person p = new Person(); p.Nom = nom; p.User_id = user_id; context.People.Add(p); context.SaveChanges(); } } }
public bool IsLimiterLesAvis(string user_id, int id_formation) { Avi avi; using (var context = new AvisEntities()) { avi = context.Avis.FirstOrDefault(f => f.IdFormation == id_formation && f.UserId == user_id); } if (avi != null) { return(true); } else { return(false); } }
/// <summary> /// Affichage de 4 formations au hazard sur la page d'accueil /// </summary> public List <DetailFormation> ObtenirDetailFormations() { var detailFormationListe = new List <DetailFormation>(); using (var context = new AvisEntities()) { List <Formation> formation = context.Formation.OrderBy(x => Guid.NewGuid()).Take(4).ToList(); foreach (Formation formationdetail in formation) { DetailFormation detailsFormations = ObtenirDetailsFormation(formationdetail.NomSeo); if (detailsFormations != null) { detailFormationListe.Add(detailsFormations); } } } return(detailFormationListe); }
// GET: Formation public ActionResult ToutesLesFormations() { //List<Formation> listFormations = new List<Formation>(); //using (var context = new AvisEntities()) //{ // listFormations = context.Formation.ToList(); //} ////context.Dispose(); //return View(listFormations); // var vm = new AccueilViewModel(); using (var context = new AvisEntities()) { //var listFormation = new List<Formation>(); //context.Formation.Take(4).ToList(); var listFormation = context.Formation.OrderBy(x => Guid.NewGuid()).ToList(); foreach (var f in listFormation) { var dto = new FormationAvecAvisDto(); dto.Formation = f; if (f.Avis.Count == 0) { dto.Note = 0; } else { dto.Note = Math.Round(f.Avis.Average(a => a.Note), 2); } vm.ListFormations.Add(dto); } } return(View(vm)); }
public ActionResult SaveComment(AvisSave avis) { Avis.Data.Avis nouvelAvis = new Avis.Data.Avis(); nouvelAvis.IdFormation = avis.IdFormation; nouvelAvis.DateAvis = DateTime.Now; nouvelAvis.Description = avis.Description; nouvelAvis.Nom = User.Identity.GetUserName(); nouvelAvis.Note = avis.Note; nouvelAvis.UserId = User.Identity.GetUserId(); if (!EstAutoriseACommenter(nouvelAvis)) { TempData["Message"] = "Désolé, un seul avis par formation par compte utilisateur !"; return(RedirectToAction("Error", "Erreur")); } using (var context = new AvisEntities()) { context.Avis.Add(nouvelAvis); context.SaveChanges(); } return(RedirectToAction("Index", "Home", null)); }
public ActionResult Accueil() { var vm = new AccueilViewModel(); using (var context = new AvisEntities()) { var listFormation = context.Formation.OrderBy(x => Guid.NewGuid()).Take(4).ToList(); foreach (var f in listFormation) { var dto = new FormationAvecAvisDto(); dto.Formation = f; if (f.Avis.Count == 0) { dto.Note = 0; } else { dto.Note = Math.Round(f.Avis.Average(a => a.Note), 2); } vm.ListFormations.Add(dto); } } return(View(vm)); }
public ActionResult SaveComment(SaveCommentViewModel comment) { using (var context = new AvisEntities()) { var formationEntity = context.Formation.FirstOrDefault(f => f.NomSeo == comment.NomSeo); if (formationEntity == null) { return(RedirectToAction("Accueil", "Home")); } Avis nouvelAvis = new Avis(); nouvelAvis.DateAvis = DateTime.Now; var userId = User.Identity.GetUserId(); var mgerUnicite = new UniqueAvisVerification(); if (!mgerUnicite.EstAutoriseACommenter(userId, formationEntity.Id)) { TempData["Message"] = "Désolé, un seul avis par compte utilisateur."; return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.NomSeo })); } var mger = new PersonneManager(); nouvelAvis.Nom = mger.GetNomFromUserId(userId); nouvelAvis.Description = comment.Commentaire; nouvelAvis.UserId = userId; double dNote = 0; if (!double.TryParse(comment.Note, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out dNote)) { throw new Exception("Impossible de parser la note " + comment.Note); } nouvelAvis.Note = dNote; nouvelAvis.IdFormation = formationEntity.Id; context.Avis.Add(nouvelAvis); try { context.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } //context.SaveChanges(); } return(RedirectToAction("DetailsFormation", "Formation", new { nomSeo = comment.NomSeo })); }