public IActionResult GetApplicationCourseCampus(int applicationId, int id)
        {
            if (!_applicationInfoRepository.ApplicationExists(applicationId))
            {
                return(NotFound());
            }

            #region Check Caching
            if (Request.Headers.ContainsKey("If-None-Match"))
            {
                var oldETag = Request.Headers["If-None-Match"].First();
                if (_cache.Get($"ApplicationCourseCampus-{id}-{oldETag}") != null)
                {
                    return(StatusCode((int)HttpStatusCode.NotModified));
                }
            }
            #endregion

            var applicationCourseCampus = _applicationInfoRepository.GetCourseCampusForApplication(applicationId, id);
            if (applicationCourseCampus == null)
            {
                return(NotFound());
            }

            AddETag(applicationCourseCampus);

            var results = Mapper.Map <ApplicationCourseCampusDto>(applicationCourseCampus);

            #region CreateLinksForApplicationCourseCampus => Supporting HATEOAS (Base and Wrapper Class Approach)
            //return Ok(results);
            return(Ok(CreateLinksForApplicationCourseCampus(results)));

            #endregion
        }
Пример #2
0
        public IActionResult GetApplicationCourseCampus(int applicationId, int id)
        {
            if (!_applicationInfoRepository.ApplicationExists(applicationId))
            {
                return(NotFound());
            }
            var applicationCourseCampus = _applicationInfoRepository.GetCourseCampusForApplication(applicationId, id);

            if (applicationCourseCampus == null)
            {
                return(NotFound());
            }
            var results = Mapper.Map <ApplicationCourseCampusDto>(applicationCourseCampus);

            #region CreateLinksForApplicationCourseCampus => Supporting HATEOAS (Base and Wrapper Class Approach)
            //return Ok(results);
            return(Ok(CreateLinksForApplicationCourseCampus(results)));

            #endregion
        }