コード例 #1
0
        public ActionResult Edit(RechercheViewModel model)
        {
            if (ModelState.IsValid)
            {
                var originalRecherche = db.Recherche.Find(model.Id);

                if (originalRecherche != null)
                {
                    TypeAnimaux type = db.TypeAnimaux.Find(model.SelectedTypeAnimaux);

                    originalRecherche.Nom         = model.Nom;
                    originalRecherche.Description = model.Description;
                    originalRecherche.Sexe        = model.Sexe;
                    originalRecherche.Race        = model.Race;
                    originalRecherche.Adresse     = model.Adresse;
                    originalRecherche.Type        = type;
                    originalRecherche.Desactiver  = model.Desactiver;
                    originalRecherche.Trouver     = model.Trouver;

                    //db.Entry(originalRecherche).CurrentValues.SetValues(updateRecherche);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                //db.Entry(recherche).State = EntityState.Modified;
                //db.SaveChanges();
            }
            return(View(model));
        }
コード例 #2
0
        /// <summary>
        /// Recherche les livres dont le titre ou le nom de l'auteur qui contient un texte
        /// </summary>
        /// <param name="texteCherche">Texte cherché (sans tenir compte de la casse)</param>
        /// <returns>Vue Livre</returns>
        public ActionResult Livre(string texteCherche)
        {
            //Contrôle des paramètres
            if (string.IsNullOrEmpty(texteCherche))
            {
                return(View("Error"));
            }

            // Recherche des livres dont le titre contient le texte
            List <Livre> livres = dal.RechercherLivres(texteCherche);
            //Recherche les auteurs dont le nom contient le  texte
            List <Auteur> auteurs = dal.RechercherAuteurs(texteCherche);

            // Parcours les auteurs et ajouter leurs livres au résultat
            foreach (Auteur auteur in auteurs)
            {
                List <Livre> livresParAuteur = dal.ObtenirLivresParAuteur(auteur.Id);
                livres = livres.Union(livresParAuteur).ToList();
            }

            // Si aucun livre trouvé, on retourne la vue 404
            //if (livres.Count == 0) return new HttpNotFoundResult();

            // Construction du ViewModel et affichage de la vue
            RechercheViewModel vm = new RechercheViewModel();

            vm.Texte  = texteCherche;
            vm.Livres = livres;

            return(View(vm));
        }
コード例 #3
0
        public ActionResult Recherche(IndexViewModel ivm)
        {
            string             bienRechercher = ivm.RequeteRecherche.ToString();
            RechercheViewModel rvm            = new RechercheViewModel(bienRechercher);

            return(View(rvm));
        }
コード例 #4
0
        // GET: Signalements/Edit/5
        public ActionResult Edit(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Signalement signalement = db.Signalement.Find(id);

            if (signalement == null)
            {
                return(HttpNotFound());
            }
            RechercheViewModel model = new RechercheViewModel
            {
                Id              = id,
                Adresse         = signalement.Adresse,
                Description     = signalement.Description,
                ListTypeAnimaux = db.TypeAnimaux.Select(c => new SelectListItem {
                    Text = c.Nom, Value = c.Id.ToString()
                }).ToList(),
                SelectedTypeAnimaux = signalement.Type.Id
            };

            return(View(model));
        }
コード例 #5
0
        // GET: Edit/5
        public ActionResult Edit(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Recherche recherche = db.Recherche.Find(id);

            if (recherche == null)
            {
                return(HttpNotFound());
            }
            RechercheViewModel model = new RechercheViewModel
            {
                Id              = id,
                Adresse         = recherche.Adresse,
                Description     = recherche.Description,
                Date_recherche  = recherche.Date_recherche,
                Nom             = recherche.Nom,
                Race            = recherche.Race,
                Sexe            = recherche.Sexe,
                ListTypeAnimaux = db.TypeAnimaux.Select(c => new SelectListItem {
                    Text = c.Nom, Value = c.Id.ToString()
                }).ToList(),
                SelectedTypeAnimaux = recherche.Type.Id
            };

            return(View(model));
        }
コード例 #6
0
        public void RechercherController_Resultat_0Livre()
        {
            ActionResult       actionResult       = rechercherController.Livre("livre inconnu");
            ViewResult         viewResult         = (ViewResult)actionResult;
            RechercheViewModel rechercheViewModel = (RechercheViewModel)viewResult.Model;

            Assert.AreEqual(viewResult.MasterName, "");
            Assert.IsNotNull(viewResult.Model);
            Assert.AreEqual(rechercheViewModel.Livres.Count, 0);
        }
コード例 #7
0
        public IActionResult Index(string keywords)
        {
            var titres   = _titreRepository.Search(keywords).ToList();
            var artistes = _artisteRepository.Search(keywords).ToList();

            var model = new RechercheViewModel {
                Keywords = keywords, Artistes = artistes, Titres = titres
            };

            return(this.View(model));
        }
コード例 #8
0
        public ActionResult Create()
        {
            IEnumerable <SelectListItem> List = db.TypeAnimaux.Select(c => new SelectListItem {
                Text = c.Nom, Value = c.Id.ToString()
            }).ToList();
            RechercheViewModel model = new RechercheViewModel {
                ListTypeAnimaux = List
            };

            return(View(model));
        }
コード例 #9
0
 public ActionResult Recherche(RechercheViewModel rechercheViewModel)
 {
     if (!string.IsNullOrWhiteSpace(rechercheViewModel.Recherche))
     {
         rechercheViewModel.listeDesClients = dal.ObtientTousLesClients().Where(r => r.Ville.IndexOf(rechercheViewModel.Recherche, StringComparison.CurrentCultureIgnoreCase) >= 0).ToList();
     }
     else
     {
         rechercheViewModel.listeDesClients = new List <Client>();
     }
     return(View(rechercheViewModel));
 }
コード例 #10
0
 public ActionResult RechercheSansAjax(RechercheViewModel rechercheViewModel)
 {
     if (!string.IsNullOrWhiteSpace(rechercheViewModel.Recherche))
     {
         rechercheViewModel.ListeDesRestos = dal.ObtientTousLesRestaurants().Where(r => r.Nom.IndexOf(rechercheViewModel.Recherche, StringComparison.CurrentCultureIgnoreCase) >= 0).ToList();
     }
     else
     {
         rechercheViewModel.ListeDesRestos = new List <Resto>();
     }
     return(View(rechercheViewModel));
 }
コード例 #11
0
        public ActionResult Recherche()
        {
            var RechercheVM = new RechercheViewModel();

            var employeRepository = new EmployeRepository();

            RechercheVM.Employes     = employeRepository.GetEmployes();
            RechercheVM.Departements = new SelectList(db.Departement, "IdDepartement", "NomDepartement");
            RechercheVM.Postes       = new SelectList(db.Poste, "IdPoste", "NomPoste");

            return(View(RechercheVM));
        }
コード例 #12
0
 public ActionResult ResultatRecherche(RechercheViewModel viewmodel)
 {
     if (!string.IsNullOrWhiteSpace(viewmodel.Recherche))
     {
         viewmodel.ListeRestos = dal.ObtenirTousLesRestaurants().Where(r => r.Nom.IndexOf(viewmodel.Recherche, StringComparison.CurrentCultureIgnoreCase) >= 0).ToList();
         Thread.Sleep(1500);
     }
     else
     {
         viewmodel.ListeRestos = new List <Resto>();
     }
     return(PartialView(viewmodel));
 }
コード例 #13
0
        public ActionResult Acceuil()
        {
            //Coordonnées par défaut
            ViewBag.defaultN = "43.610769";
            ViewBag.defaultE = "3.876716";

            var coo = new List <decimal>();

            coo.Add(Convert.ToDecimal(43.610769));
            coo.Add(Convert.ToDecimal(3.876716));

            RechercheViewModel vm = new RechercheViewModel("", 500, coo);

            return(View(vm));
        }
コード例 #14
0
        public ActionResult Recherche(RechercheViewModel RechercheVM)
        {
            var employeRepository = new EmployeRepository();

            RechercheVM.NomComplet = RechercheVM.NomComplet ?? "";
            RechercheVM.Matricule  = RechercheVM.Matricule ?? "";

            //RechercheVM.Employes = employeRepository.GetEmployeByCritere(RechercheVM.Matricule, RechercheVM.NomComplet, RechercheVM.IdPoste, RechercheVM.IdDepartement);

            RechercheVM.Departements = new SelectList(db.Departement, "IdDepartement", "NomDepartement");
            RechercheVM.Postes       = new SelectList(db.Poste, "IdPoste", "NomPoste");


            return(View(RechercheVM));
        }
コード例 #15
0
        public ActionResult Create(RechercheViewModel model, HttpPostedFileBase file)
        {
            Random          rnd  = new Random();
            ApplicationUser user = db.Users.Find(User.Identity.GetUserId());
            DateTime        date = DateTime.Now;
            TypeAnimaux     type = db.TypeAnimaux.Find(model.SelectedTypeAnimaux);

            // Upload des images
            List <Image> images = new List <Image>();

            if (file.ContentLength > 0)
            {
                // Supprime les accents du nom du fichier
                string _name = Path.GetFileName(file.FileName);
                //String _FileName = rnd.Next(1, 9999999).ToString();
                String _FileName = ((Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds).ToString();
                _FileName += Path.GetExtension(_name);

                string _path = Path.Combine(Server.MapPath("~/Content/UploadedFiles"), _FileName);
                file.SaveAs(_path);
                Image image = new Image();
                image.Url = "Content/UploadedFiles/" + _FileName;
                images.Add(image);
            }

            Recherche recherche = new Recherche
            {
                Nom            = model.Nom,
                Description    = model.Description,
                Sexe           = model.Sexe,
                Race           = model.Race,
                Adresse        = model.Adresse,
                Date_ajout     = date,
                Date_recherche = model.Date_recherche,
                User           = user,
                Images         = images,
                Type           = type
            };

            if (ModelState.IsValid)
            {
                db.Recherche.Add(recherche);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(recherche));
        }
コード例 #16
0
        public ActionResult Recherche(string recherche, int rayonMax, decimal lat, decimal lon)
        {
            var adresseRecherche = new List <decimal>();

            adresseRecherche.Add(lat);
            adresseRecherche.Add(lon);

            RechercheViewModel vm = new RechercheViewModel(recherche, rayonMax, adresseRecherche);

            List <Magasin>          mags     = Context.Magasin.OrderBy(m => m.id).ToList();
            List <MagasinViewModel> magsZone = vm.getMagasinsDansZone(mags);

            //Donne tous les magasins qui contienne la recherche dans leur nom ou qui contiennent au moins un article dont le nom contient la recherche
            magsZone = magsZone.Where(m => (m.libelle.ToUpper().Contains(recherche.ToUpper())) || (m.Articles.Where(a => a.libelle.ToUpper().Contains(recherche.ToUpper())).Count() > 0)).ToList();


            var jsonSerialiser = new JavaScriptSerializer();
            var json           = jsonSerialiser.Serialize(magsZone);


            return(Json(json, JsonRequestBehavior.AllowGet));
        }
コード例 #17
0
        // GET: Annonces
        public ActionResult Index(RechercheViewModel model)
        {
            IEnumerable <Annonce> annonces = db.Annonces.ToList();

            if (!string.IsNullOrWhiteSpace(model.Label))
            {
                annonces = annonces.Where(a => a.Label.Contains(model.Label));
            }

            if (model.DateDebut != null)
            {
                annonces = annonces.Where(a => a.DateCreation > model.DateDebut);
            }

            if (model.DateFin != null)
            {
                annonces = annonces.Where(a => a.DateCreation < model.DateFin);
            }


            //var annonces = db.Annonces.Include(a => a.Categorie);
            ViewBag.Annonces = annonces.ToList();
            return(View());
        }
コード例 #18
0
 public ActionResult Recherche(RechercheViewModel rechercheViewModel)
 {
     return(View(rechercheViewModel));
 }
コード例 #19
0
        public IQueryable <Membre> RechercheMembreAvecProprietes(RechercheViewModel laRecherche, int noMembre)
        {
            #region trouverAgeEnChiffre
            //DateTime? ageMax = null;
            //DateTime? ageMin = null;

            //if (laRecherche.ageMax != null)
            //{
            //    ageMax = DateTime.Now.AddYears(-(int)laRecherche.ageMax);
            //}

            //if (laRecherche.ageMin != null)
            //{
            //    ageMin = DateTime.Now.AddYears(-(int)laRecherche.ageMin);
            //}
            #endregion

            IQueryable <Membre> membresTrouves = db.Membres;
            Membre membreActuel;
            try
            {
                membreActuel = db.Membres.Where(m => m.noMembre == noMembre).Include(m => m.listeNoire).FirstOrDefault();
            }
            catch (Exception e)
            {
                Dictionary <string, string> parametres = new Dictionary <string, string>()
                {
                    { "noMembre", noMembre.ToString() }
                };
                throw Utilitaires.templateException("(Non-Action) RechercheMembreAvecProprietes", "Membres", "Requête LINQ n'a pas fonctionnée ou la BD est inaccessible.", e, parametres);
            }

            //on doit avoir un membre, sinon on ne peut pas tester la distance en KM
            if (membreActuel != null)
            {
                //Si on veut la recherche par KM
                if (laRecherche.distanceKmDeMoi != null)
                {
                    //La BD doit avoir été bien initialisée
                    if (membreActuel.ville.lat != null || membreActuel.ville.lng != null)
                    {
                        double latMembre = (double)membreActuel.ville.lat;
                        double lngMembre = (double)membreActuel.ville.lng;

                        //on définit la requête LINQ to SQL pour trouver les membres à une distance X
                        membresTrouves =
                            #region RequeteSQLCalculsDistance
                            (from m in db.Membres
                             let membreLatitude = (double)m.ville.lat
                                                  let membreLongitude = (double)m.ville.lng
                                                                        let theta = ((lngMembre - membreLongitude) * Math.PI / 180.0)
                                                                                    let requestLat = (latMembre * Math.PI / 180.0)
                                                                                                     let membreLat = (membreLatitude * Math.PI / 180.0)
                                                                                                                     let dist = (SqlFunctions.Sin(requestLat) * SqlFunctions.Sin(membreLat)) +
                                                                                                                                (SqlFunctions.Cos(requestLat) * SqlFunctions.Cos(membreLat) * SqlFunctions.Cos(theta))
                                                                                                                                let cosDist = SqlFunctions.Acos(dist)
                                                                                                                                              let degDist = (cosDist / Math.PI * 180.0)
                                                                                                                                                            let absoluteDist = degDist * 60 * 1.1515
                                                                                                                                                                               let distInKM = absoluteDist * 1.609344
                                                                                                                                                                                              where distInKM < laRecherche.distanceKmDeMoi
                                                                                                                                                                                              select m);
                        #endregion
                    }
                }

                //On ajoute la partie si le membre est connecté (on l'enlève des recherches pour pas qu'il se voit)
                membresTrouves = membresTrouves
                                 .Where(m => (m.noMembre != noMembre) &&
                                        //BlackListe
                                        (!m.listeMembresQuiMontBloque.Select(x => x.noMembre).Contains(membreActuel.noMembre)) &&
                                        (!m.listeNoire.Select(x => x.noMembre).Contains(membreActuel.noMembre))
                                        );
            }


            //Après avoir ajouté les wheres et calculs possibles, on ajoute la query commune et on retourne le tout!
            //la recherche par age sera aussi implémenter de cette façon dans AdminController pour la liste des membres
            if (laRecherche.ageMin != null)
            {
                membresTrouves = (from m in membresTrouves
                                  let years = DateTime.Now.Year - ((DateTime)m.dateNaissance).Year
                                              let birthdayThisYear = DbFunctions.AddYears(m.dateNaissance, years)

                                                                     where laRecherche.ageMax >= (birthdayThisYear > DateTime.Now ? years - 1 : years)
                                                                     select m
                                  );
            }
            if (laRecherche.ageMax != null)
            {
                membresTrouves = (from m in membresTrouves
                                  let years = DateTime.Now.Year - ((DateTime)m.dateNaissance).Year
                                              let birthdayThisYear = DbFunctions.AddYears(m.dateNaissance, years)

                                                                     where laRecherche.ageMin <= (birthdayThisYear > DateTime.Now ? years - 1 : years)
                                                                     select m
                                  );
            }

            membresTrouves = membresTrouves
                             #region RequeteLINQPourTousLesCriteres
                             .Where(m => //On s'assure que le membre n'est pas supprimé, car on n'en veut pas dans notre recherche.
                                    (m.compteSupprimeParAdmin == null && m.dateSuppressionDuCompte == null) &&

                                    //((ageMax == null ? true : false) || DbFunctions.TruncateTime(m.dateNaissance) >= DbFunctions.TruncateTime(ageMax)) && //Signe = ajouté 2017-11-19 Anthony Brochu
                                    //((ageMin == null ? true : false) || DbFunctions.TruncateTime(m.dateNaissance) <= DbFunctions.TruncateTime(ageMin)) && //Signe = ajouté 2017-11-19 Anthony Brochu
                                    ((laRecherche.homme == null ? true : false) || m.homme == laRecherche.homme) &&
                                    ((laRecherche.noRaisonsSite == null ? true : false) || m.listeRaisonsSurSite.Select(r => r.noRaisonSurSite).Contains((laRecherche.noRaisonsSite ?? 0))) &&
                                    ((laRecherche.chercheHomme == null ? true : false) || m.rechercheHomme == laRecherche.chercheHomme) &&
                                    ((laRecherche.noProvince == null ? true : false) || m.noProvince == laRecherche.noProvince) &&
                                    ((laRecherche.noVille == null ? true : false) || m.noVille == laRecherche.noVille) &&
                                    //Caractéristiques Physiques
                                    ((laRecherche.noYeuxCouleur == null ? true : false) || m.noYeuxCouleur == laRecherche.noYeuxCouleur) &&
                                    ((laRecherche.noCheveuxCouleur == null ? true : false) || m.noCheveuxCouleur == laRecherche.noCheveuxCouleur) &&
                                    ((laRecherche.noSilhouette == null ? true : false) || m.noSilhouette == laRecherche.noSilhouette) &&
                                    ((laRecherche.noTaille == null ? true : false) || m.noTaille == laRecherche.noTaille) &&
                                    //Informations supplémentaires
                                    ((laRecherche.fumeur == null ? true : false) || m.fumeur == laRecherche.fumeur) &&
                                    ((laRecherche.noReligion == null ? true : false) || m.noReligion == laRecherche.noReligion) &&
                                    ((laRecherche.noOrigine == null ? true : false) || m.noOrigine == laRecherche.noOrigine) &&
                                    ((laRecherche.noDesirEnfant == null ? true : false) || m.noDesirEnfant == laRecherche.noDesirEnfant) &&
                                    ((laRecherche.noOccupation == null ? true : false) || m.noOccupation == laRecherche.noOccupation) &&
                                    ((laRecherche.noSituationFinanciere == null ? true : false) || m.noSituationFinanciere == laRecherche.noSituationFinanciere) &&
                                    ((laRecherche.noNiveauEtude == null ? true : false) || m.noNiveauEtude == laRecherche.noNiveauEtude) &&

                                    ((laRecherche.nbEnfantsMax == null ? true : false) || m.nbEnfants <= laRecherche.nbEnfantsMax) && //Signe "=" ajouté 2017-11-19 Anthony Brochu
                                    ((laRecherche.nbEnfantsMin == null ? true : false) || m.nbEnfants >= laRecherche.nbEnfantsMin) && //Signe "=" ajouté 2017-11-19 Anthony Brochu

                                    ((laRecherche.nbAnimauxMax == null ? true : false) || m.nbAnimaux <= laRecherche.nbAnimauxMax) && //Signe "=" ajouté 2017-11-19 Anthony Brochu
                                    ((laRecherche.nbAnimauxMin == null ? true : false) || m.nbAnimaux >= laRecherche.nbAnimauxMin)    //Signe "=" ajouté 2017-11-19 Anthony Brochu
                                    );

            if (laRecherche.noTypeActiviteRecherche != null)
            {
                membresTrouves = membresTrouves
                                 .Where(m => m.listeHobbies.Select(t => t.noType).Contains((int)laRecherche.noTypeActiviteRecherche));
            }

            if (laRecherche.noTypeInterets != null)
            {
                membresTrouves = membresTrouves
                                 .Where(m => m.listeHobbies.Select(t => t.noHobbie).Contains((int)laRecherche.noTypeInterets));
            }
            #endregion

            return(membresTrouves);
        }
コード例 #20
0
 public ActionResult Recherche(RechercheViewModel viewmodel)
 {
     return(View(viewmodel));
 }