예제 #1
0
        public IPagedList <ContactDto> Search(SearchContactDto searchContactDto)
        {
            using (var uow = GetUnitOfWork())
            {
                var filter = GetMapper()
                             .Map <SearchContactQuery, SearchContactDto>(searchContactDto);

                var validator = GetValidationFactory().GetValidatorFor <SearchContactQuery>();
                if (validator != null)
                {
                    var validationResult = validator.GetValidationResult(filter);

                    if (validationResult.HasErrors)
                    {
                        throw new ValidationException(validationResult);
                    }
                }

                return(uow
                       .Repository
                       .ApplyQuery(filter)
                       .ApplyProjection <ContactDto>()
                       .ApplyPaging(searchContactDto.PageNumber, searchContactDto.PageSize));
            }
        }
 public HttpResponseMessage Search(SearchContactDto searchContactDto)
 {
     try
     {
         var searchResult = _contactApplicationService.Search(searchContactDto);
         return(Request.CreateResponse(HttpStatusCode.OK, searchResult));
     }
     catch (ValidationException ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
        public IPagedList <ContactDto> Search(SearchContactDto searchContactDto)
        {
            using (var uow = unitOfWorkFactory.GetUnitOfWork())
            {
                var filter = Mapper.Map <SearchContactSpecification>(searchContactDto);
                //ValidateAndThrow(filter);

                return(uow
                       .Repository
                       .IsSatisfiedBy(filter)
                       .ProjectTo <ContactDto>()
                       .ApplyPaging(searchContactDto.PageNumber, searchContactDto.PageSize));
            }
        }
        public async Task <IList <ProfileDto> > GetProfileDtosBySearchContactDto(SearchContactDto searchContactDto)
        {
            var listUsers = await _getUserBusiness.GetListProfileDtosByUserNameUserId(searchContactDto.UserName, searchContactDto.UserId);

            var listFriends = await GetAllProfileContactsByUserId(searchContactDto.UserId);


            bool continueFor = true;

            for (int f = 0; f < listUsers.Count; f++)
            {
                if (await _getContactNotificationBusiness.GetBoolContactNotification(searchContactDto.UserId, listUsers[f].UserId))
                {
                    listUsers[f].FriendRequestIsSent = true;
                }
                else
                {
                    listUsers[f].FriendRequestIsSent = false;
                }
                for (int k = 0; k < listFriends.Count && continueFor; k++)
                {
                    if (listUsers[f].UserId == listFriends[k].UserId)
                    {
                        listUsers[f].IsFriend = true;
                        continueFor           = false;
                    }
                    else
                    {
                        listUsers[f].IsFriend = false;
                    }
                }
                continueFor = true;
            }

            return(listUsers);
        }
 public async Task <IList <ProfileDto> > SearchContactBySearchContactDto(SearchContactDto searchContactDto)
 {
     return(await _getContactBusiness.GetProfileDtosBySearchContactDto(searchContactDto));
 }
예제 #6
0
 public async Task <IList <ProfileDto> > GetContactsProfileByContactDto([FromBody] SearchContactDto searchContactDto)
 {
     return(await _contactQuery.SearchContactBySearchContactDto(searchContactDto));
 }