コード例 #1
0
        public static List <T> ToList <T>(this IQueryable result)
        {
            Collections.IEnumerator e = result.GetEnumerator();

            List <T> l = new List <T>();

            while (e.MoveNext())
            {
                l.Add((T)e.Current);
            }

            return(l);
        }
コード例 #2
0
        // taken from bouncy castle SignedDataTest.cs
        private static bool VerifySignatures(CmsSignedData sp)
        {
            var signaturesValid = true;

            Org.BouncyCastle.X509.Store.IX509Store x509Certs = sp.GetCertificates("Collection");
            SignerInformationStore signers = sp.GetSignerInfos();

            foreach (SignerInformation signer in signers.GetSigners())
            {
                Collections.ICollection certCollection = x509Certs.GetMatches(signer.SignerID);

                Collections.IEnumerator certEnum = certCollection.GetEnumerator();
                certEnum.MoveNext();
                Org.BouncyCastle.X509.X509Certificate cert = (Org.BouncyCastle.X509.X509Certificate)certEnum.Current;

                signaturesValid &= signer.Verify(cert);
            }

            return(signaturesValid);
        }
コード例 #3
0
        public void OleDbParameterCollection_MultipleScenarios_Success()
        {
            OleDbParameterCollection opc = command.Parameters;

            Assert.True(opc.Count == 0);
            Assert.False(opc.IsReadOnly);
            Assert.False(opc.IsFixedSize);
            Assert.False(opc.IsSynchronized);
            Assert.Throws <IndexOutOfRangeException>(() => opc[0].ParameterName);
            Assert.Throws <IndexOutOfRangeException>(() => opc["@p1"].ParameterName);
            Assert.Throws <ArgumentNullException>(() => opc.Add(null));

            opc.Add((object)new OleDbParameter());
            opc.Add((object)new OleDbParameter());
            Collections.IEnumerator enm = opc.GetEnumerator();
            Assert.True(enm.MoveNext());
            Assert.Equal("Parameter1", ((OleDbParameter)enm.Current).ParameterName);
            Assert.True(enm.MoveNext());
            Assert.Equal("Parameter2", ((OleDbParameter)enm.Current).ParameterName);

            opc.Add(new OleDbParameter(null, null));
            opc.Add(null, OleDbType.Integer, 0, null);
            Assert.Equal("Parameter4", opc["Parameter4"].ParameterName);

            opc.Add(new OleDbParameter("Parameter5", OleDbType.LongVarWChar, 20));
            opc.Add(new OleDbParameter(null, OleDbType.WChar, 20, "a"));

            opc.RemoveAt(opc[3].ParameterName);
            Assert.Equal(-1, opc.IndexOf(null));
            Assert.False(opc.Contains(null));
            Assert.Throws <IndexOutOfRangeException>(() => opc.RemoveAt(null));

            OleDbParameter p = opc[0];

            Assert.Throws <ArgumentException>(() => opc.Add((object)p));
            Assert.Throws <ArgumentException>(() => new OleDbCommand().Parameters.Add(p));
            Assert.Throws <ArgumentNullException>(() => opc.Remove(null));

            string pname = p.ParameterName;

            p.ParameterName = pname;
            p.ParameterName = pname.ToUpper();
            p.ParameterName = pname.ToLower();
            p.ParameterName = "@p1";
            p.ParameterName = pname;

            opc.Clear();
            opc.Add(p);

            opc.Clear();
            opc.AddWithValue("@p1", null);

            Assert.Equal(-1, opc.IndexOf(p.ParameterName));

            opc[0] = p;
            Assert.Equal(0, opc.IndexOf(p.ParameterName));

            Assert.True(opc.Contains(p.ParameterName));
            Assert.True(opc.Contains(opc[0]));

            opc[0] = p;
            opc[p.ParameterName] = new OleDbParameter(p.ParameterName, null);
            opc[p.ParameterName] = (OleDbParameter)OleDbFactory.Instance.CreateParameter();
            opc.RemoveAt(0);

            new OleDbCommand().Parameters.Clear();
            new OleDbCommand().Parameters.CopyTo(new object[0], 0);
            Assert.False(new OleDbCommand().Parameters.GetEnumerator().MoveNext());

            Assert.Throws <InvalidCastException>(() => new OleDbCommand().Parameters.Add(0));
            Assert.Throws <ArgumentNullException>(() => new OleDbCommand().Parameters.AddRange(null));
            Assert.Throws <InvalidCastException>(() => new OleDbCommand().Parameters.Insert(0, 0));
            Assert.Throws <InvalidCastException>(() => new OleDbCommand().Parameters.Remove(0));

            Assert.Throws <ArgumentException>(() => opc.Remove(new OleDbParameter()));
        }
コード例 #4
0
ファイル: Serializer.cs プロジェクト: tapika/swupd
        /// <summary>
        /// Writes the body operation parameters associated with a ServiceAction.
        /// </summary>
        /// <param name="operationParameters">The list of operation parameters to write.</param>
        /// <param name="requestMessage">The OData request message used to write the operation parameters.</param>
        internal void WriteBodyOperationParameters(List <BodyOperationParameter> operationParameters, ODataRequestMessageWrapper requestMessage)
        {
            Debug.Assert(requestMessage != null, "requestMessage != null");
            Debug.Assert(operationParameters != null, "operationParameters != null");
            Debug.Assert(operationParameters.Any(), "operationParameters.Any()");

            using (ODataMessageWriter messageWriter = Serializer.CreateMessageWriter(requestMessage, this.requestInfo, true /*isParameterPayload*/))
            {
                ODataParameterWriter parameterWriter = messageWriter.CreateODataParameterWriter(null);
                parameterWriter.WriteStart();

                foreach (OperationParameter operationParameter in operationParameters)
                {
                    if (operationParameter.Value == null)
                    {
                        parameterWriter.WriteValue(operationParameter.Name, operationParameter.Value);
                    }
                    else
                    {
                        ClientEdmModel model   = this.requestInfo.Model;
                        IEdmType       edmType = model.GetOrCreateEdmType(operationParameter.Value.GetType());
                        Debug.Assert(edmType != null, "edmType != null");

                        switch (edmType.TypeKind)
                        {
                        case EdmTypeKind.Collection:
                        {
                            Collections.IEnumerator enumerator           = ((ICollection)operationParameter.Value).GetEnumerator();
                            ODataCollectionWriter   collectionWriter     = parameterWriter.CreateCollectionWriter(operationParameter.Name);
                            ODataCollectionStart    odataCollectionStart = new ODataCollectionStart();
                            collectionWriter.WriteStart(odataCollectionStart);

                            while (enumerator.MoveNext())
                            {
                                Object collectionItem = enumerator.Current;
                                if (collectionItem == null)
                                {
                                    throw new NotSupportedException(Strings.Serializer_NullCollectionParamterItemValue(operationParameter.Name));
                                }

                                IEdmType edmItemType = model.GetOrCreateEdmType(collectionItem.GetType());
                                Debug.Assert(edmItemType != null, "edmItemType != null");

                                switch (edmItemType.TypeKind)
                                {
                                case EdmTypeKind.Complex:
                                {
                                    Debug.Assert(model.GetClientTypeAnnotation(edmItemType).ElementType != null, "edmItemType.GetClientTypeAnnotation().ElementType != null");
                                    ODataComplexValue complexValue = this.propertyConverter.CreateODataComplexValue(
                                        model.GetClientTypeAnnotation(edmItemType).ElementType,
                                        collectionItem,
                                        null /*propertyName*/,
                                        false /*isCollectionItem*/,
                                        null /*visitedComplexTypeObjects*/);

                                    Debug.Assert(complexValue != null, "complexValue != null");
                                    collectionWriter.WriteItem(complexValue);
                                    break;
                                }

                                case EdmTypeKind.Primitive:
                                {
                                    collectionWriter.WriteItem(collectionItem);
                                    break;
                                }

                                default:

                                    // EdmTypeKind.Entity
                                    // EdmTypeKind.Row
                                    // EdmTypeKind.EntityReference
                                    // EdmTypeKind.Enum.
                                    throw new NotSupportedException(Strings.Serializer_InvalidCollectionParamterItemType(operationParameter.Name, edmItemType.TypeKind));
                                }
                            }

                            collectionWriter.WriteEnd();
                            collectionWriter.Flush();
                            break;
                        }

                        case EdmTypeKind.Complex:
                        {
                            Debug.Assert(model.GetClientTypeAnnotation(edmType).ElementType != null, "model.GetClientTypeAnnotation(edmType).ElementType != null");
                            ODataComplexValue complexValue = this.propertyConverter.CreateODataComplexValue(
                                model.GetClientTypeAnnotation(edmType).ElementType,
                                operationParameter.Value,
                                null /*propertyName*/,
                                false /*isCollectionItemType*/,
                                null /*visitedComplexTypeObjects*/);

                            Debug.Assert(complexValue != null, "complexValue != null");
                            parameterWriter.WriteValue(operationParameter.Name, complexValue);
                            break;
                        }

                        case EdmTypeKind.Primitive:
                            parameterWriter.WriteValue(operationParameter.Name, operationParameter.Value);
                            break;

                        default:
                            // EdmTypeKind.Entity
                            // EdmTypeKind.Row
                            // EdmTypeKind.EntityReference
                            // EdmTypeKind.Enum.
                            throw new NotSupportedException(Strings.Serializer_InvalidParameterType(operationParameter.Name, edmType.TypeKind));
                        }
                    } // else
                }     // foreach

                parameterWriter.WriteEnd();
                parameterWriter.Flush();
            }
        }