Example #1
0
        /// <summary>
        /// Gets the template for Witsml object.
        /// </summary>
        /// <param name="version">The version.</param>
        /// <param name="objectType">Type of the object.</param>
        /// <param name="returnElementsOptionIn">The return elements option in.</param>
        /// <returns>The XDocument.</returns>
        public static XDocument GetTemplate(string objectType, string version, OptionsIn.ReturnElements returnElementsOptionIn)
        {
            var documentTemplate = new XDocument();

            if (OptionsIn.DataVersion.Version131.Equals(version))
            {
                documentTemplate = GetTemplateForWitsml131(objectType, returnElementsOptionIn);
            }

            if (OptionsIn.DataVersion.Version141.Equals(version))
            {
                documentTemplate = GetTemplateForWitsml141(objectType, returnElementsOptionIn);
            }

            if (documentTemplate.Root != null)
            {
                return(documentTemplate);
            }

            // Unsupported objects
            var type = ObjectTypes.GetObjectGroupType(objectType, version);

            if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
            {
                documentTemplate = _template.Create(type);
                _template.RemoveAll(documentTemplate, "/*/*/*[name() != 'name' and name() != 'nameWell' and name() != 'nameWellbore']");
            }
            else
            {
                documentTemplate = _template.Create(type);
            }

            return(documentTemplate);
        }
Example #2
0
        private XDocument GetTemplateAndSetIds(string objectType, EtpUri uri, OptionsIn.ReturnElements templateType)
        {
            var queryIn = QueryTemplates.GetTemplate(objectType, DataSchemaVersion, templateType);

            SetFilterCriteria(objectType, queryIn, uri);

            return(queryIn);
        }
        /// <summary>
        /// Gets the template for Witsml object.
        /// </summary>
        /// <param name="version">The version.</param>
        /// <param name="objectType">Type of the object.</param>
        /// <param name="returnElementsOptionIn">The return elements option in.</param>
        /// <returns>The XDocument.</returns>
        public static XDocument GetTemplate(string objectType, string version, OptionsIn.ReturnElements returnElementsOptionIn)
        {
            if (OptionsIn.DataVersion.Version131.Equals(version))
            {
                return(GetTemplateForWitsml131(objectType, returnElementsOptionIn));
            }

            if (OptionsIn.DataVersion.Version141.Equals(version))
            {
                return(GetTemplateForWitsml141(objectType, returnElementsOptionIn));
            }

            return(new XDocument());
        }
        /// <summary>
        /// Called when RequestObjectSelectionCapability has changed.
        /// </summary>
        private void OnRequestObjectSelectionCapabilityChanged()
        {
            if (IsRequestObjectSelectionCapability)
            {
                _previousReturnElementType       = ReturnElementType;
                _previousRequestPrivateGroupOnly = IsRequestPrivateGroupOnly;

                ReturnElementType         = null;
                IsRequestPrivateGroupOnly = false;
            }
            else
            {
                ReturnElementType         = _previousReturnElementType ?? OptionsIn.ReturnElements.All;
                IsRequestPrivateGroupOnly = _previousRequestPrivateGroupOnly.GetValueOrDefault();

                _previousReturnElementType       = null;
                _previousRequestPrivateGroupOnly = null;
            }
        }
        /// <summary>
        /// Gets the template for Witsml131 objects.
        /// </summary>
        /// <param name="objectType">The object type.</param>
        /// <param name="returnElementsOptionIn">The returnElement optionsIn.</param>
        /// <returns>The XDocument.</returns>
        public static XDocument GetTemplateForWitsml131(string objectType, OptionsIn.ReturnElements returnElementsOptionIn)
        {
            var xDocument = new XDocument();

            switch (objectType)
            {
            case "log":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Log.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Log.IdOnly;
                }

                if (OptionsIn.ReturnElements.HeaderOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Log.HeaderOnly;
                }
                else if (OptionsIn.ReturnElements.DataOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Log.DataOnly;
                }

                break;

            case "message":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Message.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Message.IdOnly;
                }

                break;

            case "mudLog":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.MudLog.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.MudLog.IdOnly;
                }

                if (OptionsIn.ReturnElements.HeaderOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.MudLog.HeaderOnly;
                }
                else if (OptionsIn.ReturnElements.DataOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.MudLog.DataOnly;
                }

                break;

            case "rig":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Rig.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Rig.IdOnly;
                }

                break;

            case "trajectory":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Trajectory.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Trajectory.IdOnly;
                }

                if (OptionsIn.ReturnElements.HeaderOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Trajectory.HeaderOnly;
                }
                else if (OptionsIn.ReturnElements.DataOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Trajectory.DataOnly;
                }

                break;

            case "wbGeometry":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.WbGeometry.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.WbGeometry.IdOnly;
                }

                break;

            case "well":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Well.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Well.IdOnly;
                }

                break;

            case "wellbore":
                if (OptionsIn.ReturnElements.All.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Wellbore.All;
                }
                else if (OptionsIn.ReturnElements.IdOnly.Equals(returnElementsOptionIn.Value))
                {
                    xDocument = Witsml131.Wellbore.IdOnly;
                }

                break;
            }

            return(xDocument);
        }