public T Body <T>() where T : class { if (RawBody == null) { return(null); //Maybe throw an exception here ??? } //return RawBody.ToObject<T>(); return(JsonConvert.DeserializeObject <T>(RawBody.ToString(), new SobjectConverter())); // return JsonConvert.DeserializeObject<T>(RawBody.ToString(), new SobjectCreationConverter()); }
private void parseBody() { pageDescriptions = new Dictionary <int, PfsPageByte>(); int pageID = Header.Pointer.PageID == 1 ? 0 : Header.Pointer.PageID; // Skip first 4 // TODO: Should treat this as the record it is, instead of misusing RawBody foreach (byte pageByte in RawBody.Skip(4).Take(8088)) { var pfsPageDescription = new PfsPageByte(pageByte, pageID); pageDescriptions.Add(pageID++, pfsPageDescription); } }
public string ReadString(ref int Index) { if (IsCorrupted) { return(string.Empty); } if (Protocol == HProtocols.Modern || (Protocol == HProtocols.Ancient && Destination == HDestinations.Server)) { int SLength = ReadShort(ref Index); byte[] SData = ByteUtils.CopyBlock(Body, (Index += SLength) - SLength, SLength); return(Encoding.Default.GetString(SData)); } else if (Protocol == HProtocols.Ancient && Destination == HDestinations.Client) { string Chunk = RawBody.Substring(Index).Split((char)2)[0]; Index += Chunk.Length + 1; return(Chunk); } else { return(string.Empty); } }
/// <summary> /// Gets the body without control characters. /// </summary> /// <returns>System.String.</returns> public string GetBodyText() => new string(RawBody.Where(c => char.IsWhiteSpace(c) || !char.IsControl(c)).ToArray());