// TODO : redirection si l'utilisateur a déjà donné son avis public ActionResult Create(int idProduit, int idDetail) { var model = new AvisViewModel() { produit = _produitRepository.GetById(idProduit) }; ViewBag.IdClient = _detailRepository.GetById(idDetail).IdCommandeNavigation.IdClient; return(View(model)); }
public IHttpActionResult GetPosteAvis(int id) { var pvm = new PosteViewModelAvis(); Poste poste = db.Postes.Find(id); if (poste == null) { return(NotFound()); } else { pvm.ID = poste.ID; pvm.CategorieID = poste.CategorieID; pvm.ClientID2 = poste.ClientID2; pvm.Poste_title = poste.Poste_title; pvm.Poste_image = poste.Poste_image; pvm.Poste_description = poste.Poste_description; pvm.Date_debut = poste.Date_debut; pvm.Date_fin = poste.Date_fin; pvm.Etat = poste.Etat; pvm.Pay = poste.Pay; pvm.Ville = poste.Ville; pvm.Adress = pvm.Adress; pvm.nombreAvis = db.Avis.Count(); pvm.noteAvis = db.Avis.Average(p => p.Note); List <AvisViewModel> avm = new List <AvisViewModel>(); foreach (var a in poste.Avis) { AvisViewModel amv = new AvisViewModel(); amv.Id = a.Id; amv.Nom = a.Nom; amv.Description = a.Description; amv.Note = a.Note; amv.IdPoste = a.IdPoste; amv.DateAvi = a.DateAvi; amv.IdClient = a.IdClient; avm.Add(amv); } pvm.avis = avm; pvm.Client_Prenom = poste.Client.Client_Prenom; pvm.Client_image = poste.Client.Client_image; } return(Ok(pvm)); // OrderBy(x => Guid.NewGuid()).Take(4).ToList() }
public ActionResult Create(AvisViewModel avisViewModel) { try { Avis avis = new Avis { IdClient = avisViewModel.IdClient, IdProduit = avisViewModel.IdProduit, Note = avisViewModel.Note, Date = DateTime.Now, Contenu = avisViewModel.Contenu }; _avisRepository.Create(avis); return(RedirectToAction("Index", "Tirelires")); } catch { return(View()); } }
//// GET: api/Postes //public List<PosteViewModel> GetPostes() //{ // //instance List de type PostesDansCategorie // List<PosteViewModel> ListPos = new List<PosteViewModel>(); // // instance objet de PostesDansCategorie // //recuperer tout les valeur de categories // var pos = db.Postes.ToList(); // //boucler sur cat pour recuperer les categorie // foreach (var p in pos) // { // //instance d'objet // PosteViewModel pvm = new PosteViewModel(); // pvm.ID = p.ID; // pvm.CategorieID = p.CategorieID; // pvm.ClientID2 = p.ClientID2; // pvm.Poste_title = p.Poste_title; // pvm.Poste_image = p.Poste_image; // pvm.Poste_description = p.Poste_description; // pvm.Date_debut = p.Date_debut; // pvm.Date_fin = p.Date_fin; // pvm.Etat = p.Etat; // ListPos.Add(pvm); // } // return (ListPos); //} public IHttpActionResult GetPostesAvis(int prend = 0, string option = "") { //instance List de type PostesDansCategorie List <PosteViewModelAvis> ListPos = new List <PosteViewModelAvis>(); // instance objet de PostesDansCategorie if (option == "best") { //recuperer tout les valeur de categories // var pos1= db.Postes.OrderByDescending(p => p.Avis.Average(l => l.Note)).Take(prend).ToList(); var pos = db.Postes.OrderByDescending(p => p.Avis.Average(l => l.Note)).Take(prend).ToList();; //boucler sur cat pour recuperer les categorie foreach (var p in pos) { //instance d'objet PosteViewModelAvis pvm = new PosteViewModelAvis(); pvm.ID = p.ID; pvm.CategorieID = p.CategorieID; pvm.ClientID2 = p.ClientID2; pvm.Poste_title = p.Poste_title; pvm.Poste_image = p.Poste_image; pvm.Poste_description = p.Poste_description; pvm.Date_debut = p.Date_debut; pvm.Date_fin = p.Date_fin; pvm.Etat = p.Etat; pvm.Pay = p.Pay; pvm.nombreAvis = p.Avis.Count(); pvm.noteAvis = (p.Avis.Average(f => f.Note)) / 2; pvm.Categorie = p.Categorie.Catégorie_title; List <AvisViewModel> avm = new List <AvisViewModel>(); foreach (var a in p.Avis) { AvisViewModel amv = new AvisViewModel(); amv.Id = a.Id; amv.Nom = a.Nom; amv.Description = a.Description; amv.Note = a.Note; amv.IdPoste = a.IdPoste; amv.DateAvi = a.DateAvi; amv.IdClient = a.IdClient; avm.Add(amv); } pvm.ClientID = p.ClientID; pvm.Client_Prenom = p.Client.Client_Prenom; pvm.Client_Nom = p.Client.Client_Nom; pvm.Client_image = p.Client.Client_image; pvm.Email = p.Client.Email; pvm.Client_adresse = p.Client.Client_adresse; pvm.avis = avm; ListPos.Add(pvm); } } else if (option == "date") { var pos = db.Postes.OrderByDescending(p => p.Date_CreationPost).Take(prend).ToList(); //boucler sur cat pour recuperer les categorie foreach (var p in pos) { //instance d'objet PosteViewModelAvis pvm = new PosteViewModelAvis(); pvm.ID = p.ID; pvm.CategorieID = p.CategorieID; pvm.ClientID2 = p.ClientID2; pvm.Poste_title = p.Poste_title; pvm.Poste_image = p.Poste_image; pvm.Poste_description = p.Poste_description; pvm.Date_debut = p.Date_debut; pvm.Date_fin = p.Date_fin; pvm.Etat = p.Etat; pvm.nombreAvis = p.Avis.Count(); pvm.noteAvis = (p.Avis.Average(f => f.Note)) / 2; List <AvisViewModel> avm = new List <AvisViewModel>(); foreach (var a in p.Avis) { AvisViewModel amv = new AvisViewModel(); amv.Id = a.Id; amv.Nom = a.Nom; amv.Description = a.Description; amv.Note = a.Note; amv.IdPoste = a.IdPoste; amv.DateAvi = a.DateAvi; amv.IdClient = a.IdClient; avm.Add(amv); } pvm.ClientID = p.ClientID; pvm.Client_Prenom = p.Client.Client_Prenom; pvm.Client_Nom = p.Client.Client_Nom; pvm.Client_image = p.Client.Client_image; pvm.Email = p.Client.Email; pvm.Client_adresse = p.Client.Client_adresse; pvm.avis = avm; ListPos.Add(pvm); } } else { var pos = db.Postes.OrderBy(x => Guid.NewGuid()).Take(prend).ToList(); //boucler sur cat pour recuperer les categorie foreach (var p in pos) { //instance d'objet PosteViewModelAvis pvm = new PosteViewModelAvis(); pvm.ID = p.ID; pvm.CategorieID = p.CategorieID; pvm.ClientID2 = p.ClientID2; pvm.Poste_title = p.Poste_title; pvm.Poste_image = p.Poste_image; pvm.Poste_description = p.Poste_description; pvm.Date_debut = p.Date_debut; pvm.Date_fin = p.Date_fin; pvm.Etat = p.Etat; pvm.nombreAvis = p.Avis.Count(); pvm.noteAvis = (p.Avis.Average(f => f.Note)) / 2; List <AvisViewModel> avm = new List <AvisViewModel>(); foreach (var a in p.Avis) { AvisViewModel amv = new AvisViewModel(); amv.Id = a.Id; amv.Nom = a.Nom; amv.Description = a.Description; amv.Note = a.Note; amv.IdPoste = a.IdPoste; amv.DateAvi = a.DateAvi; amv.IdClient = a.IdClient; avm.Add(amv); } ClientApiModel cam = new ClientApiModel(); cam.ID = p.Client.ID; cam.Client_Prenom = p.Client.Client_Prenom; cam.Client_Nom = p.Client.Client_Nom; cam.Client_image = p.Client.Client_image; cam.Email = p.Client.Email; cam.Client_adresse = p.Client.Client_adresse; pvm.Client = cam; pvm.avis = avm; ListPos.Add(pvm); } } return(Ok(ListPos)); }