public ActionResult SearchEstates(int TypeId = 3) { using (MainContext db = new MainContext()) { Tags stag = db.Tags.Where(x => x.PageId == 15 && x.Lang == lang).FirstOrDefault(); if (stag != null) { ViewBag.Title = stag.Title; ViewBag.Description = stag.Description; ViewBag.Keywords = stag.Keyword; } var list = db.Estate.Include("Country").Include("Town").Include("District").Where(d => d.Language == lang).ToList(); if (TypeId == 3) { ViewBag.result = null; } else { ViewBag.result = TypeId; list = list.Where(d => d.TypeId == TypeId).ToList(); } ViewBag.BriefResultante = false; AdvancedSearchModel model = new AdvancedSearchModel(list, new SearchEstateModel()); IEnumerable <SelectListItem> basetypes = db.Country.ToList().Select(b => new SelectListItem { Value = b.Id.ToString(), Text = b.Name }); ViewData["search.sehir"] = basetypes; return(View(model)); } }
public List <ProductModel> AdvancedSearch(List <ProductModel> list, AdvancedSearchModel SearchOptions) { //Alternatively use a switch? //add search options here if (SearchOptions.PriceRange == true) { list.RemoveAll(x => x.price > SearchOptions.PriceRangeHigh || x.price < SearchOptions.PriceRangeLow); } if (SearchOptions.HighToLow == true) { list = list.OrderByDescending(x => x.price).ToList(); } if (SearchOptions.LowToHigh == true) { list = list.OrderBy(x => x.price).ToList(); } if (SearchOptions.AlphabeticalOrder == true) { list = list.OrderBy(x => x.title).ToList(); } if (SearchOptions.ShowNewest) { //Sell date start } return(list); }
public ActionResult AdvancedSearchResult(AdvancedSearchModel model) { List <Photo> searchResult = (List <Photo>)_unitOfWork.Photos.AdvancedSearchPhotos((model.Name == null) ? "" : model.Name, (model.ShootingPlace == null) ? "" : model.ShootingPlace, model.ShotAfter, model.ShotBefore, (model.CameraModel == null) ? "" : model.CameraModel, (model.Diaphragm == null) ? "" : model.Diaphragm, (model.ISO == null) ? "" : model.ISO, model.ShutterSpeed, model.FocalDistance, model.Flash); return(View("SearchResult", searchResult)); }
public List <WarframeItem> AdvancedSearch(AdvancedSearchModel model) { List <ItemCache> ics = new ItemCacheRepository(_unitOfWork).AdvancedSearch(model); string test = "[" + string.Join(",", ics.Select(x => x.Data)) + "]"; return(JsonConvert.DeserializeObject <List <WarframeItem> >(test)); }
public void Validate_NoSearchCriteria_ShouldBeInvalid() { AdvancedSearchModel model = new AdvancedSearchModel(); var validationResults = model.Validate(null); Assert.IsTrue(validationResults.Any()); }
public void Validate_Valid_ShouldBeInvalid() { AdvancedSearchModel model = new AdvancedSearchModel { MasteryRequirement = "1f,2,x3,6-9," }; var validationResults = model.Validate(null); Assert.IsTrue(validationResults.Any()); }
public void GetMasteryRequirementParts_CommaAndRange_ShouldReturnCommaList() { List <string> expected = new List <string> { "1", "2", "3", "6-9" }; AdvancedSearchModel model = new AdvancedSearchModel { MasteryRequirement = "1,2, 3, 6- 9" }; List <string> actual = model.GetMasteryRequirementParts(); Assert.AreEqual(string.Join(",", expected), string.Join(",", actual)); }
public async Task <ActionResult> SearchAdvanced(AdvancedSearchModel searchData) { if (string.IsNullOrWhiteSpace(searchData.SearchParameters)) { return(RedirectToAction("Index", "Home")); } var allAccessibleForums = this.HttpContext.Session.GetForumsWithActionRight(ActionRights.AccessForum).ToHashSet(); var forumsToSearch = new List <int>(); if (searchData.TargetForums == null || searchData.TargetForums.Count <= 0) { forumsToSearch.AddRange(allAccessibleForums); } else { forumsToSearch.AddRange(searchData.TargetForums.Where(f => allAccessibleForums.Contains(f))); } var firstSortClause = SearchResultsOrderSetting.ForumAscending; if (!Enum.TryParse(searchData.FirstSortClause, out firstSortClause)) { firstSortClause = SearchResultsOrderSetting.ForumAscending; } var secondSortClause = SearchResultsOrderSetting.LastPostDateAscending; if (!Enum.TryParse(searchData.SecondSortClause, out secondSortClause)) { secondSortClause = SearchResultsOrderSetting.LastPostDateAscending; } var searchTarget = SearchTarget.MessageText; if (!Enum.TryParse(searchData.SearchTarget, out searchTarget)) { searchTarget = SearchTarget.MessageText; } await PerformSearchAsync(searchData.SearchParameters, forumsToSearch, firstSortClause, secondSortClause, searchTarget); return(RedirectToAction("Results", "Search", new { pageNo = 1 })); }
public IHttpActionResult AdvancedSearch(AdvancedSearchModel model) { List <UserWithCountryIconInfo> userList = new List <UserWithCountryIconInfo>(); try { var allUserList = _userService.GetAllUsersWithCountryFlag().ToList(); if (!string.IsNullOrEmpty(model.Address)) { model.Address = model.Address.ToLower(); allUserList = allUserList.Where(a => a.Address.ToLower().Contains(model.Address)).ToList(); } if (model.NatioanlityId > 0) { allUserList = allUserList.Where(a => a.Country_Id == model.NatioanlityId).ToList(); } if (model.LangLevelId > 0) { allUserList = allUserList.Where(a => a.LagLevel_ID == model.LangLevelId).ToList(); } var userLangList = _userLanguageService.GetAllUsersLanguages().ToList(); if (model.LearningLangId > 0) { userLangList = userLangList.Where(a => a.Learning_LanguageId == model.LearningLangId).ToList(); } if (model.NativeLangId > 0) { userLangList = userLangList.Where(a => a.Native_LanguageId == model.NativeLangId).ToList(); } string userIdList = string.Empty; if (userLangList.Count > 0) { foreach (var item in userLangList) { if (string.IsNullOrEmpty(userIdList)) { userIdList = item.User_Id.ToString(); } else { userIdList = userIdList + "," + item.User_Id.ToString(); } } } List <LanguageDetails> langList = _langService.GetAllLangugaes().ToList(); foreach (var item in allUserList) { if (!string.IsNullOrEmpty(userIdList)) { if (userIdList.Contains(item.User_Id.ToString())) { UserWithCountryIconInfo details = new UserWithCountryIconInfo(); details.Address = item.Address; details.Country_Id = item.Country_Id; details.CreatedTime = item.CreatedTime; details.DeviceId = item.DeviceId; details.Dob = item.Dob; details.Email_Id = item.Email_Id; details.Flag_Icon = item.Flag_Icon; details.Gender = item.Gender; details.Icon_Path = countryIconPath + item.Flag_Icon; if (string.IsNullOrEmpty(item.ImagePath)) { details.ImagePath = noImagePath; } else { var extension = item.ImagePath.Split('.')[1]; var imageName = item.ImagePath.Split('.')[0] + "_thumbnail"; details.ImagePath = proImagePath + imageName + "." + extension; } // details.ImagePath = proImagePath + item.ImagePath; details.Interests = item.Interests; details.IsVerified = item.IsVerified; details.LagLevel_ID = item.LagLevel_ID; details.LearningAbbrv = langList.Where(a => a.Language_Id == item.Learning_LanguageId).FirstOrDefault().Abbreviation; details.Name = item.Name; details.NativeAbbrv = langList.Where(a => a.Language_Id == item.Native_LanguageId).FirstOrDefault().Abbreviation; details.Self_Introduction = item.Self_Introduction; details.TravelDestination_CId = item.TravelDestination_CId; details.TrevoId = item.TrevoId; details.User_Id = item.User_Id; userList.Add(details); } } } } catch (Exception e) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message))); } return(Ok(userList)); }
public SearchResultsViewModel Load(UnitOfWork uow, WarframeItemUtilities itemUtils, AdvancedSearchModel model) { WarframeItems = itemUtils.AdvancedSearch(model); CodexTabs = uow.GetRepo <CodexTabRepository>().GetAll(); new EagerLoader(uow).Load(CodexTabs); return(this); }
public ActionResult AdvancedSearch(AdvancedSearchModel model) { return(View("../Post/ListPost")); }
public List <ItemCache> AdvancedSearch(AdvancedSearchModel model) { QueryBuilder query = GetQueryBuilder(); query.SqlQuery += "" + $"INNER JOIN itemcategory ic ON {TableName}.ItemCategoryID = ic.ID " + $"INNER JOIN codextab ct ON ct.ID = ic.CodexTabID "; List <string> whereConditions = new List <string>(); if (!string.IsNullOrWhiteSpace(model.Name)) { whereConditions.Add(TableName + ".Name LIKE @Name"); query.AddParameter("@Name", $"%{model.Name}%"); } if (model.CodexSection != null) { whereConditions.Add("ct.CodexSectionID = @CodexSection"); query.AddParameter("@CodexSection", model.CodexSection); } if (!string.IsNullOrWhiteSpace(model.MasteryRequirement)) { List <string> parts = new List <string>(); int counter = 0; List <string> masteryParts = model.GetMasteryRequirementParts(); if (masteryParts != null) { foreach (string queryPart in masteryParts) { if (queryPart.Contains("-")) { string[] startEndRange = queryPart.Split('-'); int start = int.Parse(startEndRange[0]); int end = int.Parse(startEndRange[1]); parts.Add($"(MasteryRequired >= @Mastery{counter}Start AND MasteryRequired <= @Mastery{counter}End)"); query.AddParameter($"@Mastery{counter}Start", start); query.AddParameter($"@Mastery{counter}End", end); } else if (queryPart.Contains(">")) { int number = int.Parse(queryPart.Replace(">", "")); parts.Add($"MasteryRequired > @Mastery{counter}"); query.AddParameter($"Mastery{counter}", number); } else if (queryPart.Contains("<")) { int number = int.Parse(queryPart.Replace("<", "")); parts.Add($"MasteryRequired < @Mastery{counter}"); query.AddParameter($"@Mastery{counter}", number); } else { int number = int.Parse(queryPart); parts.Add($"MasteryRequired = @Mastery{counter}"); query.AddParameter($"@Mastery{counter}", number); } counter++; } whereConditions.Add("(" + string.Join(" OR ", parts) + ")"); } } query.SqlQuery += "WHERE " + string.Join(" AND ", whereConditions); return(GetEntities(query)); }
public ActionResult SearchEstates(AdvancedSearchModel model) { using (MainContext db = new MainContext()) { var list = db.Estate.Include("Country").Include("Town").Include("District").Where(d => d.Language == lang).ToList(); if (!string.IsNullOrEmpty(model.search.referansno)) { try { //int refno = Convert.ToInt32(model.search.referansno); list = list.Where(d => d.ReferenceNo == model.search.referansno).ToList(); } catch (Exception) { } } if (!string.IsNullOrEmpty(model.search.keyword)) { list = list.Where(d => d.Header.Contains(model.search.keyword)).ToList(); } if (model.search.emlaktipi != 3) { list = list.Where(d => d.TypeId == model.search.emlaktipi).ToList(); ViewBag.emlaktipi = model.search.emlaktipi; } if (model.search.islemtipi != 2) { list = list.Where(d => d.TransactionId == model.search.islemtipi).ToList(); ViewBag.islemtipi = model.search.islemtipi; } if (!string.IsNullOrEmpty(model.search.sehir)) { int sehir = Convert.ToInt32(model.search.sehir); list = list.Where(d => d.CountryId == sehir).ToList(); } if (model.search.ilce != 0) { list = list.Where(d => d.TownId == model.search.ilce).ToList(); } if (model.search.semt != 0) { list = list.Where(d => d.DistrictId == model.search.semt).ToList(); } //if (!string.IsNullOrEmpty(model.fiyataraligialt)) //{ // list = list.Where(d => d.Price >= model.fiyataraligialt).ToList(); //} if (!string.IsNullOrEmpty(model.search.metrekarealt)) { int metrekare = Convert.ToInt32(model.search.metrekarealt); list = list.Where(d => Convert.ToInt32(d.RoomNumber) > metrekare).ToList(); } if (!string.IsNullOrEmpty(model.search.metrekareust)) { int metrekare = Convert.ToInt32(model.search.metrekareust); list = list.Where(d => Convert.ToInt32(d.RoomNumber) < metrekare).ToList(); } if (!string.IsNullOrEmpty(model.search.odasayisialt)) { int roomcount = Convert.ToInt32(model.search.odasayisialt); list = list.Where(d => Convert.ToInt32(d.RoomNumber) > roomcount).ToList(); } if (!string.IsNullOrEmpty(model.search.odasayisiust)) { int roomcount = Convert.ToInt32(model.search.odasayisiust); list = list.Where(d => Convert.ToInt32(d.RoomNumber) < roomcount).ToList(); } if (!string.IsNullOrEmpty(model.search.binayasialt)) { int binayasialt = Convert.ToInt32(model.search.binayasialt); list = list.Where(d => int.Parse(d.Age) >= binayasialt).ToList(); } if (!string.IsNullOrEmpty(model.search.binayasiust)) { int binayasiust = Convert.ToInt32(model.search.binayasiust); list = list.Where(d => int.Parse(d.Age) < binayasiust).ToList(); } if (!string.IsNullOrEmpty(model.search.fiyataraligialt)) { int fiyat = Convert.ToInt32(model.search.fiyataraligialt); list = list.Where(d => d.Price > fiyat).ToList(); } if (!string.IsNullOrEmpty(model.search.fiyataraligiust)) { int fiyat = Convert.ToInt32(model.search.fiyataraligiust); list = list.Where(d => d.Price < fiyat).ToList(); } ViewBag.result = model.search.emlaktipi; ViewBag.BriefResultante = false; ViewBag.Lang = lang; AdvancedSearchModel searchmodel = new AdvancedSearchModel(list, model.search); ViewBag.BriefResultante = true; IEnumerable <SelectListItem> basetypes = db.Country.ToList().Select(b => new SelectListItem { Value = b.Id.ToString(), Text = b.Name }); List <SelectListItem> ilce = new List <SelectListItem>(); ilce.Add(new SelectListItem { Value = "", Text = "" }); ViewData["search.sehir"] = basetypes; ViewData["search.ilce"] = ilce; return(View(searchmodel)); } }