public Task ApplyAsync(IAbstractModelApplicationRequestContext context, AbstractModel abstractModel, CancellationToken cancellationToken) { foreach (var parameter in context.RouteData.Values) { abstractModel.Add(new AbstractModel(parameter.Key, parameter.Value)); } return(Task.FromResult(true)); }
private static void InnerApply(JToken item, AbstractModel abstractModel) { switch (item.Type) { case JTokenType.Array: foreach (var arrayValue in item.Values()) { InnerApply(arrayValue, abstractModel); } break; case JTokenType.Property: var property = (JProperty)item; var newModel = new AbstractModel(property.Name); abstractModel.Add(newModel); foreach (var child in item.Children()) { InnerApply(child, newModel); } break; case JTokenType.Boolean: abstractModel.AddValue(item.Value <bool>()); break; case JTokenType.Integer: abstractModel.AddValue(item.Value <long>()); break; case JTokenType.Float: abstractModel.AddValue(item.Value <decimal>()); break; case JTokenType.Object: foreach (var child in item.Children()) { InnerApply(child, abstractModel); } break; case JTokenType.Comment: case JTokenType.Constructor: break; default: var value = item.Value <string>(); if (value != null) { abstractModel.AddValue(value); } break; } }
public async Task ApplyAsync(IAbstractModelApplicationRequestContext context, AbstractModel abstractModel, CancellationToken cancellationToken) { var formCollection = await new FormFeature(context.Form).ReadFormAsync(cancellationToken); foreach (var key in formCollection.Keys) { var newModel = new AbstractModel(key); foreach (var value in formCollection[key]) { newModel.AddValue(value); } abstractModel.Add(newModel); } foreach (var file in formCollection.Files ?? new FormFileCollection()) { var name = file.Name; if (name == null && ContentDispositionHeaderValue.TryParse(file.ContentDisposition, out var contentDispositionHeaderValue)) { name = contentDispositionHeaderValue.Name.Value; if (name.StartsWith("\"") && name.EndsWith("\"")) { name = name.Substring(1, name.Length - 2); } } if (name != null) { var newModel = new AbstractModel(name); newModel.AddObjectValue(file); abstractModel.Add(newModel); } } }
public Task ApplyAsync(IAbstractModelApplicationRequestContext context, AbstractModel abstractModel, CancellationToken cancellationToken) { foreach (var parameter in context.Query) { var subModel = new AbstractModel(parameter.Key); foreach (var value in parameter.Value) { subModel.AddValue(value); } abstractModel.Add(subModel); } return(Task.FromResult(true)); }