コード例 #1
0
        public IQueryable <OrganizationServiceModel> SearchOrganization(OrganizationSearchViewModel organizationSearchViewModel)
        {
            string vat      = organizationSearchViewModel.Vat ?? "";
            string fullName = organizationSearchViewModel.FullName ?? "";

            IQueryable <OrganizationServiceModel> organizationAll;

            if (!vat.Equals("") && !fullName.Equals(""))
            {
                organizationAll = this.context.Organizations.Where(p => p.Vat == vat && p.FullName.Contains(fullName)).To <OrganizationServiceModel>();
            }
            else if (!vat.Equals("") && fullName.Equals(""))
            {
                organizationAll = this.context.Organizations.Where(o => o.Vat == vat).To <OrganizationServiceModel>();
            }
            else if (vat.Equals("") && !fullName.Equals(""))
            {
                organizationAll = this.context.Organizations.Where(o => o.FullName.Contains(fullName)).To <OrganizationServiceModel>();
            }
            else
            {
                organizationAll = this.GetAllOrganizations();
            }
            return(organizationAll);
        }
コード例 #2
0
        public async Task <IActionResult> Search(OrganizationSearchViewModel organizationSearchViewModel)
        {
            List <OrganizationServiceModel> organizationsFoundService = await this.organizationService.SearchOrganization(organizationSearchViewModel).ToListAsync();

            List <OrganizationViewModel> organizationsFound = organizationsFoundService
                                                              .Select(d => d.To <OrganizationViewModel>()).ToList();
            List <OrganizationViewModel> organizationsFoundPage = organizationsFound.Skip((organizationSearchViewModel.CurrentPage - 1) * organizationSearchViewModel.PageSize).Take(organizationSearchViewModel.PageSize).ToList();

            organizationSearchViewModel.Count = organizationsFound.Count;
            organizationSearchViewModel.OrganizationsFound = organizationsFoundPage;
            return(this.View(organizationSearchViewModel));
        }
コード例 #3
0
        public async Task <IActionResult> Index(OrganizationSearchViewModel searchModel)
        {
            var model = await _organizationRepository.LoadAsyncCount(
                this.CurrentPage,
                this.PageSize,
                searchModel);

            this.TotalNumber = model.Item1;

            ViewBag.SearchModel = searchModel;

            return(View(model.Item2));
        }
コード例 #4
0
        public async Task SearchPerson_ByFullNameOnly_ShouldReturnResults()
        {
            string errorMessagePrefix = "OrganizationService SearchOrganization(OrganizationSearchViewModel) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.organizationService = new OrganizationService(context);

            await SeedData(context);

            OrganizationSearchViewModel organizationSearchViewModel = new OrganizationSearchViewModel()
            {
                FullName = "Org2"
            };
            var actualResults = this.organizationService.SearchOrganization(organizationSearchViewModel);

            Assert.True(actualResults.FirstOrDefault().Id == 2, errorMessagePrefix);
        }
コード例 #5
0
        public async Task <Tuple <int, List <OrganizationDTO> > > LoadAsyncCount(
            int skip = -1,
            int take = -1,
            OrganizationSearchViewModel model = null)
        {
            var query = Entities.ProjectTo <OrganizationDTO>();

            if (!string.IsNullOrEmpty(model.OrganizationTitle))
            {
                query = query.Where(x => x.OrganizationTitle.Contains(model.OrganizationTitle));
            }


            if (!string.IsNullOrEmpty(model.OrganizationAddress))
            {
                query = query.Where(x => x.OrganizationAddress.Contains(model.OrganizationAddress));
            }


            if (!string.IsNullOrEmpty(model.OrganizationPhone))
            {
                query = query.Where(x => x.OrganizationPhone.Contains(model.OrganizationPhone));
            }


            int Count = query.Count();

            query = query.OrderByDescending(x => x.Id);


            if (skip != -1)
            {
                query = query.Skip((skip - 1) * take);
            }

            if (take != -1)
            {
                query = query.Take(take);
            }

            return(new Tuple <int, List <OrganizationDTO> >(Count, await query.ToListAsync()));
        }