public GenericResult Save(string key, DatabaseValue value) { var ttl = value.TTL; if (value.TTL.HasValue) { data.Set(key, value, ttl.Value); } else { data.Set(key, value); } return(new GenericResult()); }
public override EvaluationResult Evaluate(IDatabase database, CommandArguments args) { var key = args["Key"]?.Trim(); var item = database.Get(key); long number = 0; if (item.IsValid && !long.TryParse(Convert.ToString(item.Data.Value), out number)) { return(new EvaluationResult().WithError("value is not an integer or out of range")); } var newValue = new DatabaseValue((++number).ToString(), item.Data?.TTL); var saveResult = database.Save(key, newValue); if (saveResult.IsValid) { return(new EvaluationResult(number)); } return(new EvaluationResult().Invalid()); }