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