Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public virtual Historico ObterUltimaMedicaoAsync(int codigoCidade)
 {
     using var context = new HistoricoClimatologicoContext();
     return(context.Historico.Where(x => x.CodigoCidade == codigoCidade).OrderByDescending(x => x.Id).FirstOrDefault());
 }
Exemplo n.º 5
0
 public void Migrate()
 {
     using var context = new HistoricoClimatologicoContext();
     context.Database.Migrate();
 }