private void WriteNameAux(string name)
 {
     if (name == null)
     {
         throw new ArgumentNullException("name");
     }
     if (context.HasElements)
     {
         textWriter.Write(", ");
     }
     textWriter.Write(SchemaUtil.GetQuotedString(name));
     textWriter.Write(": ");
     context.HasElements = true;
 }
 public void WriteString(string value)
 {
     ThrowIfDisposed();
     ThrowIfInvalidState("WriteString", TableEntityWriterState.Value);
     WriteNameAux(elemantName);
     if (value == null)
     {
         WriteNull(DataType.String);
     }
     else
     {
         WriteValue(DataType.String, SchemaUtil.GetQuotedString(value));
     }
     UpdateWriterState();
 }
 public void WriteInt64(long?value)
 {
     ThrowIfDisposed();
     ThrowIfInvalidState("WriteInt64", TableEntityWriterState.Value);
     WriteNameAux(elemantName);
     if (!value.HasValue)
     {
         WriteNull(DataType.Int64);
     }
     else
     {
         WriteValue(DataType.Int64, SchemaUtil.GetQuotedString(value.Value.ToString("D20", CultureInfo.InvariantCulture)));
     }
     UpdateWriterState();
 }
 public void WriteGuid(Guid?value)
 {
     ThrowIfDisposed();
     ThrowIfInvalidState("WriteGuid", TableEntityWriterState.Value);
     WriteNameAux(elemantName);
     if (!value.HasValue)
     {
         WriteNull(DataType.Guid);
     }
     else
     {
         WriteValue(DataType.Guid, SchemaUtil.GetQuotedString(value.ToString()));
     }
     UpdateWriterState();
 }
 public void WriteDateTime(DateTime?value)
 {
     ThrowIfDisposed();
     ThrowIfInvalidState("WriteDateTime", TableEntityWriterState.Value);
     WriteNameAux(elemantName);
     if (!value.HasValue)
     {
         WriteNull(DataType.DateTime);
     }
     else
     {
         WriteValue(DataType.DateTime, SchemaUtil.GetQuotedString(SchemaUtil.GetUtcTicksString(value.Value)));
     }
     UpdateWriterState();
 }
 public void WriteBinary(byte[] value)
 {
     ThrowIfDisposed();
     ThrowIfInvalidState("WriteBinary", TableEntityWriterState.Value);
     WriteNameAux(elemantName);
     if (value == null)
     {
         WriteNull(DataType.Binary);
     }
     else
     {
         WriteValue(DataType.Binary, SchemaUtil.GetQuotedString(SchemaUtil.BytesToString(value)));
     }
     UpdateWriterState();
 }
예제 #7
0
        private static string GetBinaryData(string filterToken)
        {
            int num = filterToken.Length - "X'".Length - 1;

            if (num / 2 > 32)
            {
                throw new InvalidFilterException("Binary filter token length too high", filterToken);
            }
            string text = filterToken.Substring("X'".Length, num);

            if (!uint.TryParse(text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out uint result))
            {
                throw new InvalidFilterException("Binary filter token could not be parsed to uint", filterToken);
            }
            byte[] array = BitConverter.GetBytes(result);
            Array.Resize(ref array, text.Length / 2);
            Array.Reverse((Array)array);
            return(SchemaUtil.GetQuotedString(SchemaUtil.BytesToString(array), escapeValue: false, '\''));
        }