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) { 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(); }
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); }