Exemplo n.º 1
0
        public virtual void Should_go_to_school_Watch_List_Search_Controller()
        {
            var request = new MetricsBasedWatchListSearchRequest
            {
                SchoolId = TestId.School
            };

            School.Resource(TestId.School, "MetricsBasedWatchListSearch").ToVirtual()
                .ShouldMapTo<MetricsBasedWatchListSearchController>(c => c.Get(request));
        }
 public ActionResult Post(MetricsBasedWatchListSearchRequest request)
 {
     var urlString = MetricsBasedWatchListSearchService.Post(request);
     var response = new
     {
         Url = urlString
     };
     
     return Json(response);
 }
        public ActionResult Get(MetricsBasedWatchListSearchRequest request)
        {
            var response = MetricsBasedWatchListSearchService.Get(request);
            response.DescriptionServiceUrl = GeneralLinks.MetricsBasedWatchList("MetricsBasedWatchListDescription");
            response.UnshareServiceUrl = GeneralLinks.MetricsBasedWatchList("MetricsBasedWatchListUnshare");

            if (Request.UrlReferrer != null)
            {
                response.ReferringController = Request.UrlReferrer.AbsoluteUri;
            }
            
            return View(response);
        }
        /// <summary>
        /// Generates the return link based upon the location the link is for.
        /// </summary>
        /// <param name="request">The request containing the location data.</param>
        /// <returns>A string representing the return link.</returns>
        public string GenerateReturnLink(MetricsBasedWatchListSearchRequest request)
        {
            var returnUrl = string.Empty;

            var pageOptions = MetricBasedWatchListOptionRepository.GetAll()
                .Where(option => option.MetricBasedWatchListId == request.MetricsBasedWatchListId)
                .ToList();

            var schoolIdOption = pageOptions.SingleOrDefault(data => data.Name == "SchoolId");

            var leaIdOption = pageOptions.SingleOrDefault(data => data.Name == "LocalEducationAgencyId");

            if (schoolIdOption != null)
            {
                var watchListStaffUSI = pageOptions.Any(data => data.Name == "StaffUSI")
                    ? long.Parse(pageOptions.Single(data => data.Name == "StaffUSI").Value)
                    : request.StaffUSI;

                var resourceName =
                    pageOptions.SingleOrDefault(data => data.Name == "PageController");
                var demographic =
                    pageOptions.SingleOrDefault(data => data.Name == "PageDemographic");
                var schoolCategory =
                    pageOptions.SingleOrDefault(data => data.Name == "PageSchoolCategory");
                var grade =
                    pageOptions.SingleOrDefault(data => data.Name == "PageGrade");

                var watchListLink = new WatchListLinkRequest
                {
                    SchoolId = int.Parse(schoolIdOption.Value),
                    StaffUSI = watchListStaffUSI,
                    MetricBasedWatchListId = request.MetricsBasedWatchListId,
                    ResourceName = resourceName != null ? resourceName.Value : string.Empty,
                    Demographic = demographic != null ? demographic.Value : string.Empty,
                    SchoolCategory = schoolCategory != null ? schoolCategory.Value : string.Empty,
                    Grade = grade != null ? grade.Value : string.Empty
                };

                returnUrl = WatchListLinkProvider.GenerateLink(watchListLink);
            }
            else if (leaIdOption != null)
            {
                return MetricsBasedWatchListMenuService.Get(new MetricsBasedWatchListMenuRequest
                {
                    StaffUSI = request.StaffUSI.GetValueOrDefault(),
                    LocalEducationAgencyId = int.Parse(leaIdOption.Value),
                }).Single(mbwl => mbwl.SectionId == request.MetricsBasedWatchListId).Href;
            }

            return returnUrl;
        }
        public virtual void Should_go_to_local_education_agency_Watch_List_Search_Controller()
        {
            var request = new MetricsBasedWatchListSearchRequest
            {
                LocalEducationAgencyId = TestId.LocalEducationAgency
            };

            LocalEducationAgency.Resource(TestId.LocalEducationAgency, "MetricsBasedWatchListSearch").ToVirtual()
                .ShouldMapTo<MetricsBasedWatchListSearchController>(c => c.Get(request));
        }