public ContactResponse GetAllContacts(ContactSearchRequest contactSearchRequest) { int fromRow = (contactSearchRequest.PageNo - 1) * contactSearchRequest.PageSize; int toRow = contactSearchRequest.PageSize; Expression <Func <Contact, bool> > query = s => ( (string.IsNullOrEmpty(contactSearchRequest.ContactName) || (s.FirstName + " " + s.LastName).Contains(contactSearchRequest.ContactName)) && (string.IsNullOrEmpty(contactSearchRequest.EmailId) || s.Email.Contains(contactSearchRequest.EmailId)) && (string.IsNullOrEmpty(contactSearchRequest.CellNo) || s.CellNo.Contains(contactSearchRequest.CellNo)) ); IEnumerable <Contact> contacts = contactSearchRequest.IsAsc ? DbSet .Where(query) .OrderBy(sortClause[contactSearchRequest.OrderByColumn]).Skip(fromRow) .Take(toRow) .ToList() : DbSet .Where(query) .OrderByDescending(sortClause[contactSearchRequest.OrderByColumn]).Skip(fromRow) .Take(toRow) .ToList(); return(new ContactResponse { Contacts = contacts.ToList(), TotalCount = DbSet.Count(query), FilteredCount = contacts.Count() }); }
public async Task <List <ContactViewModel> > Get(ContactSearchRequest request) { var json = JsonConvert.SerializeObject(request); _logger.LogInformation($"search.contacts ${json}"); var data = (await _contactService.SearchAsync(request)).ToList(); _logger.LogInformation($"found.contacts {data.Count}"); return(data); }
public ActionResult FindContact(ContactSearchRequest request) { var results = directory.FindContact(request.ContactName); var model = new SearchResultsViewModel() { Results = results, SearchedValue = request.ContactName }; return(View("SearchResults", model)); }
public async Task <ActionResult> Search([FromQuery] ContactSearchRequest rq) { try { ContactSearchResponse rs = await(new ContactSearchService(this.Context, _contactRepo)).RunAsync(rq); return(new ApiActionResult(this.Context.Request, rs)); } catch (Exception ex) { return(new ApiActionResult(this.Context.Request, ex)); } }
public JsonResult Index(ContactSearchRequest searchRequest) { var contactResponse = contactService.GetAllContacts(searchRequest); var contactList = contactResponse.Contacts.ToList().Select(x => x.MapServerToClient()).ToList(); var model = new ContactViewModel { data = contactList, recordsFiltered = contactResponse.FilteredCount, recordsTotal = contactResponse.TotalCount }; //var obj = new {data = model.EmployeePayrolls, model}; return(Json(model, JsonRequestBehavior.AllowGet)); }
public async Task <IEnumerable <Models.Contact> > SearchAsync(ContactSearchRequest request, bool fullQuery = false) { var builder = Builders <Models.Contact> .Filter; var filter = builder.Empty; if (request.Id.HasValue) { filter &= builder.Eq(x => x.Id, request.Id); } if (!string.IsNullOrEmpty(request.Query)) { var regex = new BsonRegularExpression(request.Query, "i"); filter &= filter & builder.Or( builder.Regex(x => x.Person.FirstName, regex), builder.Regex(x => x.Person.LastName, regex), builder.Regex(x => x.Person.MiddleName, regex), builder.Regex(x => x.Company.Name, regex) ); } if (!string.IsNullOrEmpty(request.Email)) { filter &= builder.ElemMatch(x => x.Emails, x => x.Value == request.Email); } if (!string.IsNullOrEmpty(request.Phone)) { filter &= filter & builder.ElemMatch(x => x.Phones, x => x.Value == request.Phone); } if (!string.IsNullOrEmpty(request.ChurchLocation)) { filter &= filter & builder.Eq(x => x.MetaData.ChurchLocation, request.ChurchLocation); } if (!string.IsNullOrEmpty(request.CellGroup)) { filter &= filter & builder.Eq(x => x.MetaData.CellGroup, request.CellGroup); } return(await _context.Contacts .Find(filter) .Skip(request.Skip) .Limit(request.Limit) .ToListAsync()); }
public ContactViewModel() { Addresses = new List <AddressModel>(); data = new List <ContactModel>(); ContactSearchRequest = new ContactSearchRequest(); }
public async Task <IEnumerable <ContactViewModel> > SearchAsync(ContactSearchRequest request) { var result = await _contactRepository.SearchAsync(request); return(_mapper.Map <IEnumerable <ContactViewModel> >(result)); }
public void ValidateReturnsValidationResult(bool sourceIsValid, ContactSearchRequest sourceModel) { var actual = _instance.Validate(sourceModel); Assert.Equal(sourceIsValid, actual.IsValid); }
public ContactResponse GetAllContacts(ContactSearchRequest searchRequest) { var contacts = contactRepository.GetAllContacts(searchRequest); return(contacts); }