示例#1
0
        public void VerifyConcurrencyValues(IEnumerable <KeyValuePair <string, object> > values)
        {
            DSResource originalResource = this.GetOriginalResource();

            if (originalResource != null)
            {
                foreach (KeyValuePair <string, object> value in values)
                {
                    object obj = originalResource.GetValue(value.Key, null);
                    if (obj.Equals(value.Value))
                    {
                        continue;
                    }
                    object[] key = new object[2];
                    key[0] = value.Key;
                    key[1] = value.Value;
                    throw new DataServiceException(0x19c, ExceptionHelpers.GetDataServiceExceptionMessage(HttpStatusCode.PreconditionFailed, Resources.PropertyKey, key));
                }
                return;
            }
            else
            {
                throw new OptimisticConcurrencyException(ExceptionHelpers.GetExceptionMessage(Resources.GetCmdletNotReturningAnObject, new object[0]));
            }
        }
        public object GetPropertyValue(object resourceObject, ResourceProperty resourceProperty)
        {
            object value;

            object[] objArray = new object[2];
            objArray[0] = "resourceObject";
            objArray[1] = "DataServiceQueryProvider.GetPropertyValue";
            resourceObject.ThrowIfNull("resourceObject", new ParameterExtensions.MessageLoader(DataServiceQueryProvider.GetInputVariableToODataMethodNullMessage), objArray);
            object[] objArray1 = new object[2];
            objArray1[0] = "resourceProperty";
            objArray1[1] = "DataServiceQueryProvider.GetPropertyValue";
            resourceProperty.ThrowIfNull("resourceProperty", new ParameterExtensions.MessageLoader(DataServiceQueryProvider.GetInputVariableToODataMethodNullMessage), objArray1);
            DSResource dSResource = resourceObject as DSResource;

            if (dSResource != null)
            {
                try
                {
                    value = dSResource.GetValue(resourceProperty.Name, this.resultSets);
                }
                catch (PowerShellWebServiceException powerShellWebServiceException1)
                {
                    PowerShellWebServiceException powerShellWebServiceException = powerShellWebServiceException1;
                    powerShellWebServiceException.Trace(null);
                    value = null;
                }
                return(value);
            }
            else
            {
                object[] assemblyQualifiedName = new object[3];
                assemblyQualifiedName[0] = "resourceObject";
                assemblyQualifiedName[1] = resourceObject.GetType().AssemblyQualifiedName;
                assemblyQualifiedName[2] = typeof(DSResource).AssemblyQualifiedName;
                string exceptionMessage = ExceptionHelpers.GetExceptionMessage(Resources.InvalidArgClrType, assemblyQualifiedName);
                throw new ArgumentException(exceptionMessage, "resourceObject");
            }
        }