public IEnumerable <Appointment> GetAllAppointments(EntityResourceParameters appointmentResourceParameters) { var doctors = _context.Doctors.ToList(); var pacients = _context.Pacients.ToList(); if (appointmentResourceParameters == null) { throw new ArgumentNullException(nameof(appointmentResourceParameters)); } if (string.IsNullOrWhiteSpace(appointmentResourceParameters.Location) && string.IsNullOrWhiteSpace(appointmentResourceParameters.SearchQuery)) { return(GetAllAppointments()); } var collection = _context.Appointments as IQueryable <Appointment>; if (!string.IsNullOrWhiteSpace(appointmentResourceParameters.Location)) { var location = appointmentResourceParameters.Location.Trim(); collection = collection.Where(d => d.Doctor.Location == location); } if (!string.IsNullOrWhiteSpace(appointmentResourceParameters.SearchQuery)) { var searchQuery = appointmentResourceParameters.SearchQuery.Trim(); collection = collection.Where(a => a.AppointmentHour.Contains(searchQuery)); } return(collection.ToList()); }
public IEnumerable <Doctor> GetAllDoctors(EntityResourceParameters doctorResourceParameters) { if (doctorResourceParameters == null) { throw new ArgumentNullException(nameof(doctorResourceParameters)); } if (string.IsNullOrWhiteSpace(doctorResourceParameters.Location) && string.IsNullOrWhiteSpace(doctorResourceParameters.SearchQuery)) { return(GetAllDoctors()); } var collection = _context.Doctors as IQueryable <Doctor>; if (!string.IsNullOrWhiteSpace(doctorResourceParameters.Location)) // &&(doctorResourceParameters.Rating <=5 && doctorResourceParameters.Rating>=0)) { var location = doctorResourceParameters.Location.Trim(); collection = collection.Where(d => d.Location == location); } if (!string.IsNullOrWhiteSpace(doctorResourceParameters.SearchQuery)) { var searchQuery = doctorResourceParameters.SearchQuery.Trim(); collection = collection.Where(d => d.Location.Contains(searchQuery) || d.FirstName.Contains(searchQuery) || d.LastName.Contains(searchQuery)); } return(collection.ToList()); }
public ActionResult <IEnumerable <AppointmentReadDTO> > GetAllAppointments( [FromQuery] EntityResourceParameters appointmentResourceParameters) { var appointmentsFromRepo = _repository.GetAllAppointments(appointmentResourceParameters); return(Ok(_mapper.Map <IEnumerable <AppointmentReadDTO> >(appointmentsFromRepo))); }
public ActionResult <IEnumerable <DoctorReadDTO> > GetAllDoctors( [FromQuery] EntityResourceParameters doctorResourceParameters) { if (doctorResourceParameters == null) { return(NotFound()); } var doctorsFromRepo = _repository.GetAllDoctors(doctorResourceParameters); return(Ok(_mapper.Map <IEnumerable <DoctorReadDTO> >(doctorsFromRepo))); }
public PagedList <Dog> GetAll(EntityResourceParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } var collection = context.Dogs.Include(d => d.TrainingCourse) as IQueryable <Dog>; if (!string.IsNullOrWhiteSpace(parameters.SearchQuery)) { collection = collection.Where(d => d.Name.ToLower().Contains(parameters.SearchQuery.ToLower()) || d.Breed.ToLower().Contains(parameters.SearchQuery.ToLower())); } if (!string.IsNullOrEmpty(parameters.Category)) { collection = collection.Where(d => d.TrainingCourse.Name.ToLower() .Contains(parameters.Category)); } if (!string.IsNullOrEmpty(parameters.OrderBy)) { /* * if(parameters.OrderBy.ToLower()=="name") * collection = collection.OrderBy(d => d.Name); * if (parameters.OrderBy.ToLower() == "age") * collection = collection.OrderBy(d => d.DateOfBirth); * if (parameters.OrderBy.ToLower() == "gender") * collection = collection.OrderBy(d => d.Gender); * if (parameters.OrderBy.ToLower() == "breed") * collection = collection.OrderBy(d => d.Breed); */ var propertyMappingDictionary = propertyMappingService.GetPropertyMapping <Models.DogDTO, Dog>(); collection = collection.ApplySort(parameters.OrderBy, propertyMappingDictionary); } return(PagedList <Dog> .Create(collection, parameters.PageNumber, parameters.PageSize)); }
public ActionResult <IEnumerable <DogDTO> > GetDogs([FromQuery] EntityResourceParameters parameters) { //ako ne postoji mapa za unet properti za odgovarajuce klase, vracamo gresku sa // statusnim kodom 400 if (!propertyMappingService.ValidMappingExistsFor <DogDTO, Dog>(parameters.OrderBy)) { return(BadRequest()); } if (parameters.PageSize == 0) { parameters.PageSize = dogService.GetAll().ToList().Count(); } var dogs = dogService.GetAll(parameters); var previousPageLink = dogs.HasPrevious ? CreateDogsResourceUri(parameters, ResourceUriType.PreviousPage) : null; var nextPageLink = dogs.HasNext ? CreateDogsResourceUri(parameters, ResourceUriType.NextPage) : null; var paginationMetadata = new { totalCount = dogs.TotalCount, pageSize = dogs.PageSize, currentPage = dogs.CurrentPage, totalPages = dogs.TotalPages, previousPageLink, nextPageLink }; Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(paginationMetadata)); var dogsDTO = mapper.Map <IEnumerable <DogDTO> >(dogs); return(Ok(dogsDTO)); }
private string CreateDogsResourceUri(EntityResourceParameters parameters, ResourceUriType type) { switch (type) { case ResourceUriType.PreviousPage: return(Url.Link("GetDogs", new { orderBy = parameters.OrderBy, pageNumber = parameters.PageNumber - 1, pageSize = parameters.PageSize, mainCategory = parameters.Category, searchQuery = parameters.SearchQuery })); case ResourceUriType.NextPage: return(Url.Link("GetDogs", new { orderBy = parameters.OrderBy, pageNumber = parameters.PageNumber + 1, pageSize = parameters.PageSize, mainCategory = parameters.Category, searchQuery = parameters.SearchQuery })); default: return(Url.Link("GetDogs", new { orderBy = parameters.OrderBy, pageNumber = parameters.PageNumber, pageSize = parameters.PageSize, mainCategory = parameters.Category, searchQuery = parameters.SearchQuery })); } }
public PagedList <Dog> GetAll(EntityResourceParameters parameters) { return(unitOfWork.DogRepository.GetAll(parameters)); }
public virtual IEnumerable <T> GetAll(EntityResourceParameters parameters) { return(context.Set <T>()); }