Example #1
0
        public List <Organization> GetOrganizationBySearch(OrganizationSearchCriteria criteria)
        {
            IQueryable <Organization> organizations = db.Organizations.Where(org => org.IsDeleted == false).Include(org => org.Courses).AsQueryable();

            if (!string.IsNullOrEmpty(criteria.Name))
            {
                organizations = organizations.Where(org => org.Name.ToLower().Contains(criteria.Name.ToLower()));
            }

            if (!string.IsNullOrEmpty(criteria.Code))
            {
                organizations = organizations.Where(org => org.Code.ToLower().Contains(criteria.Code.ToLower()));
            }

            if (!string.IsNullOrEmpty(criteria.Address))
            {
                organizations = organizations.Where(org => org.Address.ToLower().Contains(criteria.Address.ToLower()));
            }

            if (!string.IsNullOrEmpty(criteria.ContactNo))
            {
                organizations = organizations.Where(org => org.ContactNo.ToLower().Contains(criteria.ContactNo.ToLower()));
            }

            var datalist = organizations.ToList();

            foreach (var organization in datalist)
            {
                organization.Courses = organization.Courses.Where(c => c.IsDeleted == false).ToList();
            }

            return(datalist);
        }
Example #2
0
 public async Task <ActionResult <ClientOrganization[]> > GetAsync([FromQuery] OrganizationSearchCriteria searchCriteria)
 {
     return(DBContext.Organization.Include(o => o.OrganizationBio)
            .Include(o => o.Workplace).ThenInclude(w => w.Review)
            .Select(o => new ClientOrganization()
     {
         OrganizationNumber = o.OrganizationNumber,
         Name = o.Name,
         Homepage = o.Homepage,
         City = o.City,
         Country = o.Country,
         Address = o.Address,
         EmployeeCount = o.Employees,
         SectorCode = o.SectorCode,
         Type = o.Type,
         ZIP = o.Zip,
         Bio = o.OrganizationBio == null ? null : o.OrganizationBio.Bio,
         WorkplaceCount = o.Workplace.Count,
         ReviewCount = o.Workplace.Sum(w => w.Review.Count),
         Rating = (float)o.Workplace.Sum(w => w.Review.Count) == 0 ? 0.0F : (float)o.Workplace.Average(w => w.Review.Average(r => r.Rating))
     }).Where(cw => (searchCriteria.Name == null) ? true : cw.Name.StartsWith(searchCriteria.Name) || cw.Name.Contains($" {searchCriteria.Name}"))
            .Where(cw => (searchCriteria.City == null) ? true : cw.City == searchCriteria.City)
            .Where(cw => (searchCriteria.Country == null) ? true : cw.Country == searchCriteria.Country)
            .Where(cw => cw.EmployeeCount >= searchCriteria.MinEmployees)
            .Where(cw => (searchCriteria.MaxEmployees == 0) ? true : cw.EmployeeCount <= searchCriteria.MaxEmployees)
            .Where(cw => (searchCriteria.MinWorkplaces == 0) ? true : cw.WorkplaceCount >= searchCriteria.MinWorkplaces)
            .Where(cw => (searchCriteria.MinReviewCount == 0) ? true : cw.ReviewCount >= searchCriteria.MinReviewCount)
            .ToArray());
 }
Example #3
0
        public void GetOrganizationsBySearchCriteria()
        {
            Int32                      organizationCategoryId;
            OrganizationList           organizations;
            String                     name;
            Boolean                    hasSpiecesCollection;
            OrganizationSearchCriteria searchCriteria;

            // Test organization name.
            name                = "M%";
            searchCriteria      = new OrganizationSearchCriteria();
            searchCriteria.Name = name;
            organizations       = GetOrganizationManager(true).GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsFalse(organizations.IsEmpty());

            name                = "Tilt%";
            searchCriteria      = new OrganizationSearchCriteria();
            searchCriteria.Name = name;
            organizations       = GetOrganizationManager().GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsTrue(organizations.IsEmpty());

            // Test short name.
            name                     = "Art%";
            searchCriteria           = new OrganizationSearchCriteria();
            searchCriteria.ShortName = name;
            organizations            = GetOrganizationManager().GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsFalse(organizations.IsEmpty());

            name                     = "Tilt%";
            searchCriteria           = new OrganizationSearchCriteria();
            searchCriteria.ShortName = name;
            organizations            = GetOrganizationManager().GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsTrue(organizations.IsEmpty());

            // Test organization category Id.
            organizationCategoryId = 3;
            searchCriteria         = new OrganizationSearchCriteria();
            searchCriteria.OrganizationCategoryId = organizationCategoryId;
            organizations = GetOrganizationManager().GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsFalse(organizations.IsEmpty());

            organizationCategoryId = -1;
            searchCriteria         = new OrganizationSearchCriteria();
            searchCriteria.OrganizationCategoryId = organizationCategoryId;
            organizations = GetOrganizationManager().GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsTrue(organizations.IsEmpty());

            // Test hasSpiecesCollection
            hasSpiecesCollection = true;
            searchCriteria       = new OrganizationSearchCriteria();
            searchCriteria.HasSpiecesCollection = hasSpiecesCollection;
            organizations = GetOrganizationManager().GetOrganizationsBySearchCriteria(GetUserContext(), searchCriteria);
            Assert.IsFalse(organizations.IsEmpty());
        }
Example #4
0
        public ActionResult Index(OrganizationSearchCriteria model)
        {
            var organizations = _organizationManager.GetOrganizationBySearch(model);

            if (organizations == null)
            {
                organizations = new List <Organization>();
            }

            model.OrganizationLists = organizations;

            return(View(model));
        }
Example #5
0
        public List <Organization> GetOrganizationBySearch(OrganizationSearchCriteria criteria)
        {
            List <Organization> organizations = _organizationRepository.GetOrganizationBySearch(criteria);

            return(organizations);
        }