Example #1
0
        public override XDocument Handle(HttpGetRequestQuery requestParameters)
        {
            var request = ParseRequest <WmsSupportedOperationEnum>(requestParameters.Request);

            switch (request)
            {
            case WmsSupportedOperationEnum.GetCapabilities:
                var xmlTemplate = Path.Combine(TemplatesPath, WMS_CapabilitiesTemplate);
                var doc         = XDocument.Load(xmlTemplate);
                return(doc);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #2
0
        public override XDocument Handle(HttpGetRequestQuery requestParameters)
        {
            var request = ParseRequest <WfsSupportedOperationEnum>(requestParameters.Request);

            switch (request)
            {
            case WfsSupportedOperationEnum.GetCapabilities:
//                    return resolveManager.Resolve<WfsGetCapabilitiesHandler>().Handle(requestParameters);
                var parameters = new WfsGetCapabilitiesParameters();
                return(resolveManager.Resolve <WfsGetCapabilitiesHandler>().Handle(parameters));

            case WfsSupportedOperationEnum.DescribeFeatureType:
                return(resolveManager.Resolve <WfsDescribeFeatureType>().Handle(requestParameters));

            case WfsSupportedOperationEnum.GetFeature:
                return(resolveManager.Resolve <WfsGetFeatureHandler>().Handle(requestParameters));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Example #3
0
        public IActionResult OwsGet(HttpGetRequestQuery requestParameters)
        {
            if (HttpContext.Request.Query.Count == 0)
            {
                throw new OwsException(
                          OwsExceptionCodeEnum.NoApplicableCode,
                          HttpContext.Request.Path,
                          "No key-value pairs were given and the request does not contain parsable xml.");
            }

            if (!ModelState.IsValid)
            {
                var errorMessages = ModelState
                                    .Where(e => e.Value.Errors.Count > 0)
                                    .SelectMany(e => e.Value.Errors)
                                    .Select(e => e.ErrorMessage);
                throw new OwsException(OwsExceptionCodeEnum.NoApplicableCode, string.Empty, errorMessages.ToArray());
            }

            XDocument resultXml;

            switch (requestParameters.SupportedService)
            {
            case SupportedOcgServiceEnum.Wfs:
                resultXml = resolveManager.Resolve <WfsHandler>().Handle(requestParameters);
                break;

            case SupportedOcgServiceEnum.Wms:
                resultXml = resolveManager.Resolve <WmsHandler>().Handle(requestParameters);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(Content(resultXml.ToString(), "text/xml", Encoding.UTF8));
        }
 public override XDocument Handle(HttpGetRequestQuery requestParameters)
 {
     return(new XDocument(new XElement("DescribeFeatureType", new XAttribute("Version", "1.1.0"))));
 }
Example #5
0
 public abstract XDocument Handle(HttpGetRequestQuery requestParameters);
Example #6
0
        public override XDocument Handle(HttpGetRequestQuery requestParameters)
        {
            var parameters = new WfsGetCapabilitiesParameters();

            return(Handle(parameters));
        }