private ObjectReplyDTO <object> CalculoJurosCompostos(CalculoValuesDto calcValues)
        {
            var result = new ObjectReplyDTO <object>();

            try
            {
                var financiamento = new Financiamento
                {
                    Juros        = Convert.ToDouble(GetJuros().Result),
                    Periodo      = calcValues.Periodo,
                    ValorInicial = calcValues.ValorInicial
                };

                var valorTotal = financiamento.GetValorFinal();
                result.Message           = $"Valor final para um periodo de {calcValues.Periodo} meses.";
                result.ObjectReplyEntity = valorTotal;
                result.StatusReplyCode   = ObjectReplyEnum.Success;
            }
            catch (Exception ex)
            {
                result.Message           = ex.Message;
                result.ObjectReplyEntity = null;
                result.StatusReplyCode   = ObjectReplyEnum.BusinessError;
            }

            return(result);
        }
 private static ObjectReplyDTO <TObjectReplyDTO> Convert <TObjectReplyDTO>(ObjectReplyDTO objectReplyDTO)
     where TObjectReplyDTO : class
 {
     return(new ObjectReplyDTO <TObjectReplyDTO>()
     {
         Message = objectReplyDTO.Message, StatusReplyCode = objectReplyDTO.StatusReplyCode
     });
 }
 public static ObjectReplyDTO ConvertToObjectReplyDTO <TObjectReplyDTO>(this ObjectReplyDTO <TObjectReplyDTO> objectReplyGenericDTO)
     where TObjectReplyDTO : class
 {
     return(new ObjectReplyDTO()
     {
         Message = objectReplyGenericDTO.Message, StatusReplyCode = objectReplyGenericDTO.StatusReplyCode
     });
 }
        public ObjectReplyDTO <object> CalculaJuros(CalculoValuesDto calcValues)
        {
            var validator = new CalculoValuesDtoValidator();
            var results   = validator.Validate(calcValues);

            if (!results.IsValid)
            {
                var validatorResult = new ObjectReplyDTO <object>();
                foreach (var failure in results.Errors)
                {
                    validatorResult.StatusReplyCode = ObjectReplyEnum.BusinessError;
                    string msg = $"Propriedade : {failure.PropertyName} => Erro: {failure.ErrorMessage}";
                    validatorResult.Message += msg;
                }
                return(validatorResult);
            }

            return(CalculoJurosCompostos(calcValues));
        }
 public static ObjectReplyDTO <TObjectReplyDTO> ConvertToObjectReplyGenericDTO <TObjectReplyDTO>(this ObjectReplyDTO objectReplyDTO)
     where TObjectReplyDTO : class
 {
     return(Convert <TObjectReplyDTO>(objectReplyDTO));
 }