private decimal CalcularValorTarifa(TimeOfUseEnum timeOfUse, decimal totalKw)
        {
            switch (timeOfUse)
            {
            case TimeOfUseEnum.HorarioPonta:
                return(totalKw * ValorTarifaPonta);

            case TimeOfUseEnum.HorarioForaPonta:
                return(totalKw * ValorTarifaForaPonta);

            case TimeOfUseEnum.Intermediario:
                return(totalKw * ValorTarifaIntermediario);

            default:
                return(0);
            }
        }
        private ConsumoCalculado MontarConsumoCalculado(IEnumerable <IGrouping <TimeOfUseEnum, Measurements> > groupby, TimeOfUseEnum tipo)
        {
            var consumosCalculados = new List <ConsumoCalculado>();

            var consumoKwh   = groupby.Where(gr => gr.Key == tipo).SelectMany(m => m).Sum(m => m.Value ?? 0);
            var consumoReais = CalcularValorTarifa(tipo, consumoKwh);

            return(new ConsumoCalculado
            {
                TimeOfUseEnum = tipo,
                KW = consumoKwh,
                Reais = consumoReais
            });
        }