Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
 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);
 }