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