コード例 #1
0
        public object CreateResource(string containerName, string fullTypeName)
        {
            TraceHelper.Current.MethodCall2("DataServiceUpdateProvider", "AddReferenceToCollection", containerName, fullTypeName);
            ResourceType resourceType = null;

            if (containerName != null)
            {
                ResourceSet resourceSet = null;
                this.dataContext.UserSchema.ResourceSets.TryGetValue(containerName, out resourceSet);
                object[] objArray = new object[1];
                objArray[0] = containerName;
                ExceptionHelpers.ThrowArgumentExceptionIf("set", resourceSet == null, Resources.MissingResourceSet, objArray);
                if (this.entityInstance == null)
                {
                    resourceType = resourceSet.ResourceType;
                    EntityMetadata item = this.dataContext.UserSchema.EntityMetadataDictionary[resourceSet.ResourceType.FullName];
                    this.entityInstance = new EntityUpdate(this.dataContext.UserContext, resourceType, item, this.dataContext.MembershipId);
                    this.instances.Add(this.entityInstance);
                    return(this.entityInstance);
                }
                else
                {
                    throw new NotImplementedException(ExceptionHelpers.GetExceptionMessage(Resources.BatchUpdatesNotSupported, new object[0]));
                }
            }
            else
            {
                this.dataContext.UserSchema.ResourceTypes.TryGetValue(fullTypeName, out resourceType);
                if (resourceType != null)
                {
                    object[] objArray1 = new object[1];
                    objArray1[0] = fullTypeName;
                    ExceptionHelpers.ThrowArgumentExceptionIf("fullTypeName", resourceType.ResourceTypeKind != ResourceTypeKind.ComplexType, Resources.NotAComplexType, objArray1);
                    IUpdateInstance complexTypeInstance = new ComplexTypeInstance(resourceType);
                    this.instances.Add(complexTypeInstance);
                    return(complexTypeInstance);
                }
                else
                {
                    TraceHelper.Current.ResourceTypeNotFound(fullTypeName);
                    object[] objArray2 = new object[1];
                    objArray2[0] = fullTypeName;
                    throw new ArgumentException(ExceptionHelpers.GetExceptionMessage(Resources.MissingResourceType, objArray2));
                }
            }
        }
コード例 #2
0
		public object CreateResource(string containerName, string fullTypeName)
		{
			TraceHelper.Current.MethodCall2("DataServiceUpdateProvider", "AddReferenceToCollection", containerName, fullTypeName);
			ResourceType resourceType = null;
			if (containerName != null)
			{
				ResourceSet resourceSet = null;
				this.dataContext.UserSchema.ResourceSets.TryGetValue(containerName, out resourceSet);
				object[] objArray = new object[1];
				objArray[0] = containerName;
				ExceptionHelpers.ThrowArgumentExceptionIf("set", resourceSet == null, Resources.MissingResourceSet, objArray);
				if (this.entityInstance == null)
				{
					resourceType = resourceSet.ResourceType;
					EntityMetadata item = this.dataContext.UserSchema.EntityMetadataDictionary[resourceSet.ResourceType.FullName];
					this.entityInstance = new EntityUpdate(this.dataContext.UserContext, resourceType, item, this.dataContext.MembershipId);
					this.instances.Add(this.entityInstance);
					return this.entityInstance;
				}
				else
				{
					throw new NotImplementedException(ExceptionHelpers.GetExceptionMessage(Resources.BatchUpdatesNotSupported, new object[0]));
				}
			}
			else
			{
				this.dataContext.UserSchema.ResourceTypes.TryGetValue(fullTypeName, out resourceType);
				if (resourceType != null)
				{
					object[] objArray1 = new object[1];
					objArray1[0] = fullTypeName;
					ExceptionHelpers.ThrowArgumentExceptionIf("fullTypeName", resourceType.ResourceTypeKind != ResourceTypeKind.ComplexType, Resources.NotAComplexType, objArray1);
					IUpdateInstance complexTypeInstance = new ComplexTypeInstance(resourceType);
					this.instances.Add(complexTypeInstance);
					return complexTypeInstance;
				}
				else
				{
					TraceHelper.Current.ResourceTypeNotFound(fullTypeName);
					object[] objArray2 = new object[1];
					objArray2[0] = fullTypeName;
					throw new ArgumentException(ExceptionHelpers.GetExceptionMessage(Resources.MissingResourceType, objArray2));
				}
			}
		}