Example #1
0
        public IQueryable <Project> GetProjects(ProjectFilterServiceModel serviceModel = null)
        {
            var projects = GetProjects().AsNoTracking();

            if (serviceModel != null)
            {
                foreach (var taxonomyName in serviceModel.TaxonomyNames)
                {
                    projects = projects.Where(o => o.EntityTaxonomies.Select(e => e.Taxonomy.Name).Contains(taxonomyName));
                }

                if (serviceModel.City != null)
                {
                    projects = projects.Where(o => o.City.Name == serviceModel.City);
                }

                if (serviceModel.Title != null)
                {
                    projects = projects.Where(o => o.Details.FirstOrDefault(d => d.Title != null && (d.Title.ToLower().Contains(serviceModel.Title.ToLower()) || serviceModel.Title.ToLower().Contains(d.Title.ToLower()))) != null);
                }
            }

            projects = projects.OrderByDescending(o => o.Id);
            return(projects);
        }
Example #2
0
        public async Task <BaseJsonResult> GetProjects(ProjectFilterViewModel viewModel)
        {
            var serviceModel = ProjectFilterServiceModel.FromViewModel(viewModel);
            var entities     = await _projectService.GetProjects(serviceModel);

            var viewModels = new PageEntityViewModel <Project, ProjectViewModel>(entities, o => ProjectViewModelExtended.FromEntity(o, EmptyProjectViewModel));

            return(new BaseJsonResult(Omi.Base.Properties.Resources.POST_SUCCEEDED, viewModels));
        }
        public async Task <OkObjectResult> GetProjects(ProjectFilterViewModel viewModel)
        {
            var serviceModel = ProjectFilterServiceModel.FromViewModel(viewModel);
            var entities     = _projectService.GetProjects(serviceModel);
            var pageList     = await PaginatedList <Project> .CreateAsync(entities, serviceModel.Page, serviceModel.PageSize);

            var viewModels = new PageEntityViewModel <Project, ProjectViewModel>(pageList, entity => ProjectViewModelExtended.FromEntity(entity));

            return(Ok(viewModels));
        }
        public async Task <OkObjectResult> GetProjects(ProjectFilterViewModel searchParams)
        {
            var filterModel = ProjectFilterServiceModel.FromViewModel(searchParams);
            var entities    = _projects.GetProjects(filterModel);

            var pageList = await PaginatedList <Project> .CreateAsync(entities, searchParams.Page, searchParams.PageSize);

            var result = new PaginationResult <Project, ProjectViewModel>(pageList, entity => ProjectViewModel.FromEntity(entity));

            return(Ok(result));
        }
Example #5
0
        public async Task <PaginatedList <Project> > GetProjects(ProjectFilterServiceModel serviceModel)
        {
            var Projects = GetProjects().AsNoTracking();

            foreach (var taxonomyName in serviceModel.TaxonomyNames)
            {
                Projects = Projects.Where(o => o.EntityTaxonomies.Select(e => e.Taxonomy.Name).Contains(taxonomyName));
            }

            if (serviceModel.CityName != null)
            {
                Projects = Projects.Where(o => o.City.Name == serviceModel.CityName);
            }

            Projects = Projects.OrderByDescending(o => o.Id);

            var result = await PaginatedList <Project> .CreateAsync(Projects, serviceModel.Page, serviceModel.PageSize);

            return(result);
        }