示例#1
0
        public ActionResult GetProject(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken, ProjectPrimaryKey projectPK)
        {
            var projects = WebServiceProject.GetProject(projectPK.PrimaryKeyValue);
            var gridSpec = new WebServiceProjectGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, projects, gridSpec, "Project"));
        }
示例#2
0
        public ActionResult GetOrganizations(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken)
        {
            var organizations = WebServiceOrganization.GetOrganizations();
            var gridSpec      = new WebServiceOrganizationGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, organizations, gridSpec, "Organizations"));
        }
示例#3
0
        public ActionResult GetPerformanceMeasures(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken)
        {
            var performanceMeasures = WebServicePerformanceMeasure.GetPerformanceMeasures();
            var gridSpec            = new WebServicePerformanceMeasureGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, performanceMeasures, gridSpec, "PerformanceMeasures"));
        }
示例#4
0
        public ActionResult GetProjects(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken)
        {
            var projects = WebServiceProject.GetProjects();
            var gridSpec = new WebServiceProjectGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, projects, gridSpec, "Projects"));
        }
示例#5
0
        public ActionResult GetProjectSimpleLocationCoordinates(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken)
        {
            EnsureThatWebServiceTokenIsValidForUse(webServiceToken);
            var projectSimpleLocationCoordinates = WebServiceProjectSimpleLocationCoordinates.GetProjectSimpleLocationCoordinates();
            var gridSpec = new WebServiceProjectSimpleLocationCoordinatesGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, projectSimpleLocationCoordinates, gridSpec, "ProjectSimpleLocationCoordinates"));
        }
示例#6
0
        public ActionResult GetProjectGeometries(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken, ProjectPrimaryKey projectPK)
        {
            EnsureThatWebServiceTokenIsValidForUse(webServiceToken);
            var projectGeometries = WebServiceProjectGeometry.GetProjectGeometries(projectPK.PrimaryKeyValue);
            var gridSpec          = new WebServiceProjectGeometryGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, projectGeometries, gridSpec, "ProjectGeometries"));
        }
示例#7
0
        public ActionResult GetProjectsByOrganization(WebServiceReturnTypeEnum webServiceReturnTypeEnum, WebServiceToken webServiceToken, OrganizationPrimaryKey organizationPK)
        {
            EnsureThatWebServiceTokenIsValidForUse(webServiceToken);
            var projects = WebServiceProject.GetProjectsByOrganization(organizationPK.PrimaryKeyValue);
            var gridSpec = new WebServiceProjectGridSpec();

            return(GetResultsAsCsvDowloadOrJsonResult(webServiceReturnTypeEnum, projects, gridSpec, "ProjectsByOrganization"));
        }
示例#8
0
        private ActionResult GetResultsAsCsvDowloadOrJsonResult <T>(WebServiceReturnTypeEnum webServiceReturnTypeEnum, IEnumerable <T> results, GridSpec <T> gridSpec, string downloadFileDescriptorPrefix)
        {
            switch (webServiceReturnTypeEnum)
            {
            case WebServiceReturnTypeEnum.CSV:
                var csv        = results.ToCsv(gridSpec);
                var descriptor = new DownloadFileDescriptor(downloadFileDescriptorPrefix);
                return(new CsvDownloadResult(descriptor, csv));

            case WebServiceReturnTypeEnum.JSON:
                return(Json(results, JsonRequestBehavior.AllowGet));

            default:
                throw new ArgumentOutOfRangeException($"Invalid return type {webServiceReturnTypeEnum}");
            }
        }