public static Rule ToDomain(EntityModel rule, Callback callback = null) { return(new Rule ( rule.Id, rule.TransactionHash, rule.Confirmation, rule.OriginalWaitingTime, JsonConvert.DeserializeObject <CallbackResult>(rule.SuccessData), JsonConvert.DeserializeObject <CallbackResult>(rule.TimeoutData), callback != null ? callback : (rule.Callback == null ? null : EntityCallbackRepository.ToDomain(rule.Callback)), DateTime.SpecifyKind(rule.CreatedAt, DateTimeKind.Utc) )); }
public static Rule ToDomain(JsonSerializer serializer, EntityModel rule, Callback callback = null) { using (var successReader = new JsonTextReader(new StringReader(rule.SuccessData))) using (var timeoutReader = new JsonTextReader(new StringReader(rule.TimeoutData))) { return(new Rule( rule.Id, rule.TransactionHash, rule.Confirmation, rule.OriginalWaitingTime, serializer.Deserialize <CallbackResult>(successReader), serializer.Deserialize <CallbackResult>(timeoutReader), callback ?? EntityCallbackRepository.ToDomain(rule.Callback), DateTime.SpecifyKind(rule.CreatedAt, DateTimeKind.Utc))); } }