public async Task <PersonModel> GetRandomPerson(RandomPersonFilter randomPersonFilter, Guid uid) { var personEntity = await _personRepository.GetPerson(uid); var eventEntity = await _eventRepository.GetPureEvent(randomPersonFilter.EventUid); var filter = _mapper.Map <RepositoryRandomPersonFilter>(randomPersonFilter); filter.EventId = eventEntity.EventId; filter.IgnoringPersonList = await _eventRepository.GetEventSwipeHistory(eventEntity.EventId); var randomPersonEntity = await _personRepository.GetRandomPerson(filter, personEntity.PersonId); return(_mapper.Map <PersonModel>(randomPersonEntity)); }
public async Task <ActionResult <PersonModel> > GetRandomPerson(RandomPersonFilter randomPersonFilter) { var uid = new Guid(HttpContext.Request.Headers[AuthorizationHeaders.PersonUid].First()); var validationResult = _personValidation.ValidateGetRandomPerson(randomPersonFilter); if (!validationResult.ValidationResult) { return(BadRequest(validationResult.ValidationMessage)); } var randomEvent = await _personLogic.GetRandomPerson(randomPersonFilter, uid); if (randomEvent == null) { return(BadRequest(ErrorDictionary.GetErrorMessage(27, CultureParser.GetCultureFromHttpContext(HttpContext)))); } return(randomEvent); }
public (bool ValidationResult, string ValidationMessage) ValidateGetRandomPerson(RandomPersonFilter randomPersonFilter) { if (randomPersonFilter.MinAge.HasValue && (randomPersonFilter.MinAge < 0 || randomPersonFilter.MinAge > 150)) { return(false, ErrorDictionary.GetErrorMessage(22, _culture)); } if (randomPersonFilter.MaxAge.HasValue && (randomPersonFilter.MaxAge < 0 || randomPersonFilter.MaxAge > 150)) { return(false, ErrorDictionary.GetErrorMessage(22, _culture)); } if (randomPersonFilter.MinAge.HasValue && randomPersonFilter.MaxAge.HasValue && randomPersonFilter.MinAge > randomPersonFilter.MaxAge) { return(false, ErrorDictionary.GetErrorMessage(15, _culture)); } if (!_eventRepository.CheckEventExistence(randomPersonFilter.EventUid).Result) { return(false, ErrorDictionary.GetErrorMessage(10, _culture)); } if (randomPersonFilter.CityId.HasValue) { var cities = _cityLogic.GetCities().Result; if (!cities.Any(x => x.CityId == randomPersonFilter.CityId.Value)) { return(false, ErrorDictionary.GetErrorMessage(30, _culture)); } } return(true, string.Empty); }