public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var remuneracao = new RegraFixaPorValor(); serializer.Populate(reader, remuneracao); return(remuneracao); }
public IConstrutorDeRegraDeRemuneracao ComParametros(ParametrosDeRegraDeRemuneracao parametros) { var regra = new RegraFixaPorValor(parametros, _repositorioDeEntregasFixas); _regraConstruida = regra; ConstruirParametrosEspecificos(); return(this); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var remuneracao = new RegraPadrao(); JObject jo = JObject.Load(reader); serializer.Populate(jo.CreateReader(), remuneracao); if (remuneracao.Tipo == TipoDeRegra.Fixa) { var retorno = new RegraFixaPorValor(remuneracao.Parametros); serializer.Populate(jo.CreateReader(), retorno); return(retorno); } else { var retorno = new RegraPorHora(remuneracao.Parametros); serializer.Populate(jo.CreateReader(), retorno); return(retorno); } }