public PetWhizzResponse AnimalBreedFilter(AnimalBreedFilterRequest AnimalBreedFilterRequest) { PetWhizzResponse _oResponse; try { AnimalBreedFilterResponse AnimalBreedFilterResponse = animalService.AnimalBreedFilter(AnimalBreedFilterRequest); _oResponse = Utils.CreateSuccessResponse(AnimalBreedFilterResponse); } catch (Exception ex) { _oResponse = Utils.CreateErrorResponse(ex); } return(_oResponse); }
internal AnimalBreedFilterResponse AnimalBreedFilter(AnimalBreedFilterRequest animalBreedFilterRequest) { logger.Trace("Recived AnimalBreedFilter request"); AnimalBreedFilterResponse AnimalBreedFilterResponse = new AnimalBreedFilterResponse(); try { if (String.IsNullOrEmpty(animalBreedFilterRequest.animalType)) { logger.Error("Recived Animal Breed Filter request Animal Type is empty"); throw new CustomException("Animal type is empty", (int)ErrorCode.VALIDATIONFAILED); } using (var ctx = new PetWhizzEntities()) { var animals = ctx.animals.Where(a => a.animalName.ToLower() == animalBreedFilterRequest.animalType.ToLower() && a.isActive == true).FirstOrDefault(); if (animals != null) { if (!String.IsNullOrEmpty(animalBreedFilterRequest.filterQuery)) { AnimalBreedFilterResponse.AnimalBreedList = animals.animalBreeds.Where(a => a.breedName.ToLower().Contains(animalBreedFilterRequest.filterQuery.ToLower()) && a.isActive == true) .Take(10) .Select(a => new { a.id, a.breedName }).ToArray(); } } else { logger.Error("No animal found for type - " + animalBreedFilterRequest.animalType); throw new CustomException("No animal found for type", (int)ErrorCode.NORECORDFOUND); } } } catch (CustomException) { throw; } catch (Exception ex) { logger.Error(MethodBase.GetCurrentMethod().Name + ": exception: " + ex.Message + ", " + ex.InnerException); throw new CustomException("SystemError", ex, (int)ErrorCode.PROCEESINGERROR); } return(AnimalBreedFilterResponse); }