Exemplo n.º 1
0
        public async Task <ActionResult <List <PersonModel> > > GetPersonListByPage(GetPersonListFilter request)
        {
            var uid = new Guid(HttpContext.Request.Headers[AuthorizationHeaders.PersonUid].First());
            var validationResult = _personValidation.ValidateGetPersonListByPage(request);

            if (!validationResult.ValidationResult)
            {
                return(BadRequest(validationResult.ValidationMessage));
            }
            var models = await _personLogic.GetPersonListByPage(uid, request);

            return(models.ToList());
        }
Exemplo n.º 2
0
 public (bool ValidationResult, string ValidationMessage) ValidateGetPersonListByPage(GetPersonListFilter request)
 {
     if (request.PageNumber < 1)
     {
         return(false, ErrorDictionary.GetErrorMessage(28, _culture));
     }
     if (request.PageSize < 1)
     {
         return(false, ErrorDictionary.GetErrorMessage(29, _culture));
     }
     if (request.CityId.HasValue)
     {
         var cities = _cityLogic.GetCities().Result;
         if (!cities.Any(x => x.CityId == request.CityId.Value))
         {
             return(false, ErrorDictionary.GetErrorMessage(30, _culture));
         }
     }
     return(true, string.Empty);
 }
Exemplo n.º 3
0
        public async Task <IEnumerable <PersonModel> > GetPersonListByPage(Guid personUid, GetPersonListFilter model)
        {
            var filter  = _mapper.Map <RepositoryGetPersonListFilter>(model);
            var persons = await _personRepository.GetPersonListByPage(personUid, filter);

            var notApprovedFriends = await _personRepository.GetNewFriends(personUid);

            var personModels = _mapper.Map <IEnumerable <PersonModel> >(persons);

            foreach (var personModel in personModels)
            {
                personModel.FriendshipApprovalRequired = notApprovedFriends.Any(x => x.PersonUid == personModel.PersonUid);
                personModel.IsFriend = await _personRepository.CheckPersonFriendExistence(personUid, personModel.PersonUid);
            }
            return(personModels.OrderByDescending(x => x.FriendshipApprovalRequired).ThenByDescending(x => x.IsFriend));
        }