public override bool Init(ICollectFilterOptions options) { _tidyFields = new List <TidyOptions>(); var json = options.ToString(); var root = JObject.Parse(json); var p = root.First; while (p != null) { foreach (JProperty c in root[p.Path].Children()) { var fo = new TidyOptions(); fo.Type = p.Path; fo.DstField = c.Name; fo.SrcField = c.Value.ToString(); _tidyFields.Add(fo); } p = p.Next; } return(true); }
private void CombineField(ICollectContext context, TidyOptions options) { var srcFields = options.SrcField.Split(' '); var dstValue = ""; foreach (var sf in srcFields) { var src = context.Fields[sf]; if (!string.IsNullOrEmpty(src)) { dstValue += $"{src}_"; } } if (dstValue.Length > 1) { dstValue = dstValue.Remove(dstValue.Length - 1, 1); } context.Fields[options.DstField] = dstValue; }
private void RenameField(ICollectContext context, TidyOptions options) { context.Fields[options.SrcField] = context.Fields[options.DstField]; context.Fields.Remove(options.DstField); }