public DecayScoreFunction(DecayFunction function, string field, string origin, string scale, string offset = null, double decay = 0) { Function = function; Field = field; Origin = origin; Scale = scale; Offset = offset; Decay = decay; }
private static DecayScoreFunction ParseDecayScoreFunction(DecayFunction function, JsonObject jo) { var jp = jo.Properties()[0]; var value = jp.Value.Get <JsonObject>(); if (value == null) { return(null); } string origin = null; string scale = null; string offset = null; double decay = 0; foreach (var p in value.Properties()) { switch (p.Name) { case "origin": origin = p.Value.Get <string>(); break; case "scale": scale = p.Value.Get <string>(); break; case "offset": offset = p.Value.Get <string>(); break; case "decay": decay = p.Value.Get <double>(); break; } } if (string.IsNullOrWhiteSpace(origin) || string.IsNullOrWhiteSpace(scale)) { return(null); } return(new DecayScoreFunction(function, jp.Name, origin, scale, offset, decay)); }