public virtual async Task <T> AdicionarAsync(T t) { using var context = new HistoricoClimatologicoContext(); var data = context.Set <T>().Add(t); await context.SaveChangesAsync(); return(data.Entity); }
public virtual async Task <IEnumerable <T> > ObterListaAsync(Expression <Func <T, bool> > match) { using (var context = new HistoricoClimatologicoContext()) { var query = context.Set <T>().AsQueryable(); if (match != null) { query = query.Where(match); } return(await query.ToListAsync()); } }
public virtual IEnumerable <HistoricoMedia> ObterMediaAsync(int quantidadeDias, int codigoCidade) { using var context = new HistoricoClimatologicoContext(); var historico = context.Historico.Where(x => x.DataConsulta >= DateTime.Now.AddDays(-quantidadeDias).Date&& x.CodigoCidade == codigoCidade).ToList(); var medias = historico .GroupBy(x => new { Data = x.DataConsulta.Date, x.NomeCidade }) .Select(x => new HistoricoMedia { Data = x.Key.Data, NomeCidade = x.Key.NomeCidade, TemperaturaMedia = x.Select(y => y.Temperatura).Average(), UmidadeMedia = x.Select(y => y.Umidade).Average() }) .ToList(); return(medias); }
public virtual Historico ObterUltimaMedicaoAsync(int codigoCidade) { using var context = new HistoricoClimatologicoContext(); return(context.Historico.Where(x => x.CodigoCidade == codigoCidade).OrderByDescending(x => x.Id).FirstOrDefault()); }
public void Migrate() { using var context = new HistoricoClimatologicoContext(); context.Database.Migrate(); }