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