Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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)));
        }
Esempio n. 4
0
        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)));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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>());
 }