Exemplo n.º 1
0
        public ActionResult Result(int id)
        {
            var svm = new SearchViewModel { Ville = id };
            var result = GetSearchResult(svm);

            return View(result);
        }
Exemplo n.º 2
0
        public static List<SearchResutPartialViewItem> GetSearchResult(SearchViewModel svm)
        {
            // Search et SearchOption héritent de SearchBase
            SearchBase s = new Search();
            s = new SearchOptionDestination(s, svm.Continent, svm.Region, svm.Pays, svm.Ville);
            if (svm.DateIndifferente == null)
            {
                if (svm.DateMarge == null)
                {
                    s = new SearchOptionDateDepart(s, svm.DateDepart, svm.DateDepart);
                }
                else
                {
                    s = new SearchOptionDateDepart(s, svm.DateDepart, svm.DateDepart.AddDays((double)svm.DateMarge));
                }
            }
            s = new SearchOptionAPartirDAujourdHui(s);
            // TODO Attention ici il peut n'y avoir qu'une seule renseignée
            s = new SearchOptionDuree(s, svm.DureeMini, svm.DureeMaxi);
            s = new SearchOptionNbPers(s, svm.NbPers);
            s = new SearchOptionCategorie(s, svm.Categorie);
            s = new SearchOptionPrixMax(s, svm.PrixMaxi);
            s = new SearchOptionPrixMin(s, svm.PrixMini);

            // Intégration de DateDepart > DateTime.Now ici car on n'est pas intéressé par un produit périmé
            return OrderingGroupResult(s, "Search");
        }
Exemplo n.º 3
0
        public static List<SearchResutPartialViewItem> GetSearchResult(SearchViewModel svm)
        {
            Form115Entities db = new Form115Entities();

            // Search et SearchOption héritent de SearchBase
            SearchBase s = new Search();
            s = new SearchOptionDestination(s, svm.Continent, svm.Region, svm.Pays, svm.Ville);
            //s = new SearchOptionDateDepart(s, svm.DateDepart);
            s = new SearchOptionDuree(s, svm.Duree);
            s = new SearchOptionNbPers(s, svm.NbPers);
            s = new SearchOptionCategorie(s, svm.Categorie);
            s = new SearchOptionPrixMax(s, svm.PrixMax);
            s = new SearchOptionPrixMin(s, svm.PrixMin);

            // Intégration de DateDepart > DateTime.Now ici car on n'est pas intéressé par un produit périmé
            return s.GetResult()
                    .Where(p => p.DateDepart >= DateTime.Now)
                    .GroupBy(p => p.Sejours.Hotels.IdHotel,
                             p => p,
                             (key, g) => new SearchResutPartialViewItem
                                             {
                                                 Hotel = db.Hotels.Where(h => h.IdHotel == key).FirstOrDefault(),
                                                 Produits = g.ToList()
                                             })
                    .ToList();
        }
Exemplo n.º 4
0
        // GET: Browse
        public ActionResult Index()
        {
            var svm = new SearchViewModel();

            // TODO classe Categorie qui renverra la liste des catégories (méthode statique)
            svm.ListeCategories = _db.Categories.Select(c => new { Key = c.IdCategorie, Value = c.Description }).ToDictionary(x => x.Key, x => x.Value);
            svm.DisponibiliteMax = _db.Produits.Select(p => p.NbPlaces).Max();
            svm.DisponibiliteMax = 20;

            return View(svm);
        }
Exemplo n.º 5
0
        public static List<SearchResutPartialViewItem> GetSearchResult(SearchViewModel svm)
        {
            // Search et SearchOption héritent de SearchBase
            SearchBase s = new Search();
            s = new SearchOptionDestination(s, svm.Continent, svm.Region, svm.Pays, svm.Ville);
            s = new SearchOptionDateDepart(s, svm.DateDepart);
            s = new SearchOptionAPartirDAujourdHui(s);
            s = new SearchOptionDuree(s, svm.Duree);
            s = new SearchOptionNbPers(s, svm.NbPers);
            s = new SearchOptionCategorie(s, svm.Categorie);
            s = new SearchOptionPrixMax(s, svm.PrixMax);
            s = new SearchOptionPrixMin(s, svm.PrixMin);

            // Intégration de DateDepart > DateTime.Now ici car on n'est pas intéressé par un produit périmé
            return OrderingGroupResult(s);
        }
Exemplo n.º 6
0
        // GET: Browse
        public ActionResult Index()
        {
            var svm = new SearchViewModel();

            // TODO classe Categorie qui renverra la liste des catégories (méthode statique)
            svm.ListeCategories = _db.Categories.Select(c => new { Key = c.IdCategorie, Value = c.Description }).ToDictionary(x => x.Key, x => x.Value);
            svm.DisponibiliteMax = _db.Produits.Select(p => p.NbPlaces).Max();
            svm.DureeMini = _db.Produits.Select(p => p.Sejours.Duree).Min();
            svm.DureeMaxi = _db.Produits.Select(p => p.Sejours.Duree).Max();
            svm.PrixMini = (int)Math.Floor((double)_db.Produits.Select(p => p.Prix).Min());
            svm.PrixMaxi = (int)Math.Ceiling((double)_db.Produits.Select(p => p.Prix).Max());
            svm.DateDepart = DateTime.Now;
            svm.DateIndifferente = new int[] { 1 };

            return View(svm);
        }
Exemplo n.º 7
0
        public ActionResult Result(SearchViewModel svm)
        {
            //_listBreadCrumb.Add(new BreadCrumbItem { Texte = "Résultat", ControllerName = "Search", ActionName = "Result" });
            //ViewBag.ListeCrumbItem = _listBreadCrumb;

            // var pageSize = 20;
            var result = GetSearchResult(svm);

            //var rvm = new SearchResultViewModel
            //{
            //    ListeResultat = result.Take(pageSize).ToList(),
            //    PageSize = pageSize,
            //    ItemsQty = result.Count(),
            //    PagesQty = (result.Count() % pageSize) == 0 ? result.Count() / pageSize : result.Count() / pageSize + 1,
            //    CurrentPage = 1,
            //    XmlSearchViewModel = svm.SerializeSearchViewModel()
            //};
            //return View(rvm);// l.Select(v => new {v.IdVoiture, v.TypeVendeur, v.NumDep, v.Prix}
            return View(result);
        }
Exemplo n.º 8
0
        //[HttpPost]
        //public ActionResult Index(SearchViewModel svm)
        //{
        //    // TODO classe Categorie qui renverra la liste des catégories (méthode statique)
        //    svm.ListeCategories = _db.Categories.Select(c => new { Key = c.IdCategorie, Value = c.Description }).ToDictionary(x => x.Key, x => x.Value);
        //    svm.DisponibiliteMax = _db.Produits.Select(p => p.NbPlaces).Max();
        //    return View(svm);
        //}
        public ActionResult Result(int id)
        {
            var svm = new SearchViewModel { Ville = id, DateIndifferente = new int[] {1} };
            var result = GetSearchResult(svm);

            return View(result);
        }
Exemplo n.º 9
0
 public static List<SearchResutPartialViewItem> GetSearchResult(BrowseViewModel bvm)
 {
     SearchViewModel svm = new SearchViewModel(bvm);
     return GetSearchResult(svm);
 }