public async Task <ResponseTarifa> GetTarifas(RequestTarifa requestTarifa) { try { Tarifa tarifa = await tarifaRepository.GetTarifas(requestTarifa.Origem, requestTarifa.Destino); if (tarifa == null) { return new ResponseTarifa() { Destino = requestTarifa.Destino, Origem = requestTarifa.Origem, Plano = requestTarifa.Plano, Tempo = requestTarifa.Tempo } } ; ResponseTarifa response = tarifa.ToDTO(requestTarifa); response.SemFaleMais = CalculadoraTarifa.CalculoSemPlano(response); response.ComFaleMais = CalculadoraTarifa.CalculoComPlano(response); return(response); } catch (Exception ex) { throw ex; } }
public static double CalculoComPlano(ResponseTarifa response) { if (response.Plano == Enums.Planos.FaleMais30 && response.Tempo > 30) { return(CalcPlano(response.Tempo, 30, response.PrecoMinuto)); } if (response.Plano == Enums.Planos.FaleMais60 && response.Tempo > 60) { return(CalcPlano(response.Tempo, 60, response.PrecoMinuto)); } if (response.Plano == Enums.Planos.FaleMais120 && response.Tempo > 120) { return(CalcPlano(response.Tempo, 120, response.PrecoMinuto)); } return(0); }
public static double CalculoSemPlano(ResponseTarifa response) { return(response.PrecoMinuto * response.Tempo); }