Exemplo n.º 1
0
        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()
            });
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public ActionResult FindContact(ContactSearchRequest request)
        {
            var results = directory.FindContact(request.ContactName);

            var model = new SearchResultsViewModel()
            {
                Results = results, SearchedValue = request.ContactName
            };

            return(View("SearchResults", model));
        }
Exemplo n.º 4
0
 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));
     }
 }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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());
        }
Exemplo n.º 7
0
 public ContactViewModel()
 {
     Addresses            = new List <AddressModel>();
     data                 = new List <ContactModel>();
     ContactSearchRequest = new ContactSearchRequest();
 }
Exemplo n.º 8
0
        public async Task <IEnumerable <ContactViewModel> > SearchAsync(ContactSearchRequest request)
        {
            var result = await _contactRepository.SearchAsync(request);

            return(_mapper.Map <IEnumerable <ContactViewModel> >(result));
        }
Exemplo n.º 9
0
        public void ValidateReturnsValidationResult(bool sourceIsValid, ContactSearchRequest sourceModel)
        {
            var actual = _instance.Validate(sourceModel);

            Assert.Equal(sourceIsValid, actual.IsValid);
        }
Exemplo n.º 10
0
        public ContactResponse GetAllContacts(ContactSearchRequest searchRequest)
        {
            var contacts = contactRepository.GetAllContacts(searchRequest);

            return(contacts);
        }