public void File(FormDataSetEntry entry, String fileName, String contentType, IFile file)
        {
            var context = (JsonElement)_context;
            var stream = file != null && file.Body != null && file.Type != null ? file.Body : Stream.Null;
            var content = new MemoryStream();
            stream.CopyTo(content);
            var data = content.ToArray();
            var steps = JsonStep.Parse(entry.Name);
            var value = new JsonObject();

            value["type"] = new JsonValue(contentType);
            value["name"] = new JsonValue(fileName);
            value["body"] = new JsonValue(Convert.ToBase64String(data));

            foreach (var step in steps)
            {
                context = step.Run(context, value, file: true);
            }
        }
Example #2
0
            protected override JsonElement ConvertArray(JsonArray values)
            {
                var obj = new JsonObject();

                for (int i = 0; i < values.Length; i++)
                {
                    var item = values[i];

                    if (item != null)
                        obj[i.ToString()] = item;
                }

                return obj;
            }
 public JsonFormDataSetVisitor()
 {
     _context = new JsonObject();
 }
Example #4
0
        JsonElement JsonEncodeValue(JsonElement context, JsonElement value, Boolean file)
        {
            var currentValue = GetValue(context);

            if (currentValue == null)
            {
                var newValue = Next.CreateElement();
                return SetValue(context, newValue);
            }
            else if (currentValue is JsonObject)
            {
                return currentValue;
            }
            else if (currentValue is JsonArray)
            {
                return SetValue(context, Next.ConvertArray((JsonArray)currentValue));
            }
            else
            {
                var obj = new JsonObject();
                obj[String.Empty] = currentValue;
                return SetValue(context, obj);
            }
        }