private List <MultiDialogsBot.Entity> GetEntitiesAsync(EntitiesQuery searchQuery) { var entities = new List <MultiDialogsBot.Entity>(); MockDataStore ms = new MockDataStore(); if (Option == "Groceries") { entities = ms.Groceries; } if (Option == "Pharmacy") { entities = ms.Pharmacies; } if (Option == "Covid 19 Screening") { entities = ms.Covid19testsites; } //Bing Image Search API //SearchResult result = BingImageSearch(Option); //deserialize the JSON response from the Bing Image Search API //dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(result.jsonResult); //var val = jsonObj["value"]; //SearchResult result1 = BingLocalSearch($"{ Option} near {searchQuery.Destination}"); //dynamic jsonObj1 = Newtonsoft.Json.JsonConvert.DeserializeObject(result1.jsonResult); //var val1 = jsonObj1["value"]; // Filling the hotels results manually just for demo purposes //for (int i = 1; i <= 5; i++) //{ // var random = new Random(i); // Hotel hotel = new Hotel() // { // Name = $"{searchQuery.Destination} Hotel {i}", // Location = searchQuery.Destination, // Timings = random.Next(1, 5), // NumberOfReviews = random.Next(0, 5000), // PriceStarting = random.Next(80, 450), // Image = jsonObj["value"][i - 1]["contentUrl"] // $"https://placehold.imgix.net/~text?txtsize=35&txt={Option}+{i}&w=500&h=260" //}; // hotels.Add(hotel); //} //hotels.Sort((h1, h2) => h1.PriceStarting.CompareTo(h2.PriceStarting)); return(entities); }
public IActionResult SearchEntity(int pageNo, int pageSize, long number = 0, string name = "", string email = "") { try { UserProfile UP = this.help.GetProfileId(HttpContext, db); if (UP.UserId <= 0) { return(StatusCode(401, new { message = "الرجاء الـتأكد من أنك قمت بتسجيل الدخول" })); } if (UP.ProfileId <= 0) { return(StatusCode(401, new { message = "الرجاء تفعيل ضبط الملف الانتخابي التشغيلي" })); } IQueryable <Entities> EntitiesQuery; EntitiesQuery = (from p in db.Entities where p.ProfileId == UP.ProfileId && p.Status != 9 select p) .AsNoTracking(); if (number > 0) { EntitiesQuery = EntitiesQuery.Where(e => e.Number == number); } if (!String.IsNullOrWhiteSpace(name)) { EntitiesQuery = EntitiesQuery.Where(e => e.Name.ToLower().Contains(name.ToLower())); } if (!String.IsNullOrWhiteSpace(email)) { EntitiesQuery = EntitiesQuery.Where(e => e.Email.ToLower().Contains(email.ToLower())); } var EntitesCount = EntitiesQuery.Count(); var EntitesList = EntitiesQuery .OrderByDescending(x => x.CreatedOn) .Select(x => new { x.Address, x.CreatedBy, x.CreatedOn, x.Descriptions, x.Email, x.EntityId, //x.EntityRepresentatives, //x.EntityUsers, x.Name, x.Number, x.Owner, x.Phone, x.Status, Subconstituency = x.Candidates.Select(r => new { r.SubConstituency.ArabicName, SubConstituencyId = r.SubConstituency.ConstituencyDetailId }).ToList() }).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList(); return(Ok(new { Entites = EntitesList, count = EntitesCount })); } catch (Exception e) { return(StatusCode(500, e.Message)); } }