/// <summary> /// Initializes a new instance of the <see cref="SqlServerStreamConfig"/> class. /// </summary> /// <param name="name">Name of the stream.</param> /// <param name="accessKinds">Access the stream has.</param> /// <param name="defaultConnectionTimeout">Default timeout to use when connecting to SQL Server.</param> /// <param name="defaultCommandTimeout">Default timeout to use when running a command on SQL Server.</param> /// <param name="defaultSerializerRepresentation">Default <see cref="SerializerRepresentation"/> to use (used for identifier serialization).</param> /// <param name="defaultSerializationFormat">Default <see cref="SerializationFormat"/> to use.</param> /// <param name="allLocators">All <see cref="ISqlServerLocator"/>'s.</param> public SqlServerStreamConfig( string name, StreamAccessKinds accessKinds, TimeSpan defaultConnectionTimeout, TimeSpan defaultCommandTimeout, SerializerRepresentation defaultSerializerRepresentation, SerializationFormat defaultSerializationFormat, IReadOnlyCollection <ISqlServerLocator> allLocators) { name.MustForArg(nameof(name)).NotBeNullNorWhiteSpace(); accessKinds.MustForArg(nameof(accessKinds)).NotBeEqualTo(StreamAccessKinds.None); defaultConnectionTimeout.TotalMilliseconds.MustForArg(Invariant($"{nameof(defaultConnectionTimeout)}.{nameof(TimeSpan.TotalMilliseconds)}")).BeGreaterThanOrEqualTo(0d); defaultCommandTimeout.TotalMilliseconds.MustForArg(Invariant($"{nameof(defaultCommandTimeout)}.{nameof(TimeSpan.TotalMilliseconds)}")).BeGreaterThanOrEqualTo(0d); defaultSerializerRepresentation.MustForArg(nameof(defaultSerializerRepresentation)).NotBeNull(); defaultSerializationFormat.MustForArg(nameof(defaultSerializationFormat)).NotBeEqualTo(SerializationFormat.Invalid); allLocators.MustForArg(nameof(allLocators)).NotBeNullNorEmptyEnumerableNorContainAnyNulls(); this.Name = name; this.AccessKinds = accessKinds; this.DefaultConnectionTimeout = defaultConnectionTimeout; this.DefaultCommandTimeout = defaultCommandTimeout; this.DefaultSerializerRepresentation = defaultSerializerRepresentation; this.DefaultSerializationFormat = defaultSerializationFormat; this.AllLocators = allLocators; }
/// <summary> /// Initializes a new instance of the <see cref="IdentifiedSerializerRepresentation"/> class. /// </summary> /// <param name="id">The serializer representation identifier.</param> /// <param name="serializerRepresentation">The serializer description.</param> /// <param name="serializationFormat">The serialization format.</param> public IdentifiedSerializerRepresentation( int id, SerializerRepresentation serializerRepresentation, SerializationFormat serializationFormat) { serializerRepresentation.MustForArg(nameof(serializerRepresentation)).NotBeNull(); serializationFormat.MustForArg(nameof(serializationFormat)).NotBeEqualTo(SerializationFormat.Invalid); this.Id = id; this.SerializerRepresentation = serializerRepresentation; this.SerializationFormat = serializationFormat; }