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