private BSONDocument toBSON(TodoQueue queue, TodoFrame todo) { var result = new BSONDocument(); var t = todo.GetType(); result.Set(RowConverter.GDID_CLRtoBSON(Query._ID, todo.ID)); result.Set(new BSONStringElement(FLD_TODO_TYPE, todo.Type.ToString())); result.Set(new BSONDateTimeElement(FLD_TODO_CREATETIMESTAMP, todo.CreateTimestampUTC)); result.Set(elmStr(FLD_TODO_SHARDINGKEY, todo.ShardingKey)); result.Set(elmStr(FLD_TODO_PARALLELKEY, todo.ParallelKey)); result.Set(new BSONInt32Element(FLD_TODO_PRIORITY, todo.Priority)); result.Set(new BSONDateTimeElement(FLD_TODO_STARTDATE, todo.StartDate)); result.Set(elmStr(FLD_TODO_CORRELATIONKEY, todo.CorrelationKey)); result.Set(new BSONInt32Element(FLD_TODO_STATE, todo.State)); result.Set(new BSONInt32Element(FLD_TODO_TRIES, todo.Tries)); result.Set(new BSONInt32Element(FLD_TODO_SERIALIZER, todo.Serializer)); result.Set(elmBin(FLD_TODO_CONTENT, todo.Content)); return(result); }