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