public async Task <IActionResult> Registrar(int kwh) { if (kwh <= 0) { TempData["Mensagem"] = "*valor inválido "; return(RedirectToAction(nameof(Index))); } if (medidor.LeituraDoDiaJaRealizada()) { TempData["Mensagem"] = $"O registro de hoje já foi realizado!"; return(RedirectToAction(nameof(Index))); } if (medidor.ValorEhMenorDoQueOsQueJaForamRegistrados(kwh)) { TempData["Mensagem"] = $"Digite um valor maior que o último registrado!"; return(RedirectToAction(nameof(Index))); } var leitura = new LeituraDoRelogio(kwh); db.Add(leitura); await medidor.RegistrarConsumo(leitura.Kwh); db.SaveChanges(); return(RedirectToAction(nameof(HomeController.Index), "Home")); }
public static List <LeituraDoRelogio> LeiturasDoRelogio() { var kwh100 = new LeituraDoRelogio(100); var leituras = new List <LeituraDoRelogio> { kwh100 }; return(leituras); }
public void DeveRegistrarUmLeituraPorDia() { //Given var ultimaLeitura = UltimaLeitura(); //When var novaLeitura = new LeituraDoRelogio(360); //Then Assert.True(ultimaLeitura.Registro.Value.Date.AddDays(-1) < novaLeitura.Registro.Value.Date); }
public static LeituraDoRelogio UltimaLeitura() { var kwh200 = new LeituraDoRelogio(200); var kwh500 = new LeituraDoRelogio(500); var db = BancoEmMemoria(); db.AddRange(kwh200, kwh500); db.SaveChanges(); var ultimaLeitura = db.LeiturasDoRelogio.LastOrDefault(); return(ultimaLeitura); }
public void DeveRegistrarConsumoAoRegistrarNovaLeitura() { //Given var novaLeitura = new LeituraDoRelogio(360); var db = BancoEmMemoria(); var medidor = new Medidor(db); var leituras = LeiturasDoRelogio(); db.AddRange(leituras); db.SaveChanges(); //When medidor.RegistrarConsumo(novaLeitura.Kwh); //Then Assert.Equal(260, leituras[0].Consumo); }