//Criação da lista para filtrar as consultas. public async Task <PartialViewResult> Listar(FormPesquisa formPesquisa, int pagina = 1, int registros = 5) { CultureInfo ptBR = new CultureInfo("pt-BR"); var query = _context.Consultas.AsQueryable(); //Busca um agendamento cadastrado com Data que será cadastrada e tambem faz o filtro por data inicial if (formPesquisa.DataConsultaInicio != null) { DateTime dataHoje = DateTime.ParseExact(formPesquisa.DataConsultaInicio, "yyyy-MM-dd", ptBR); query = query.Where(e => e.DataConsulta >= dataHoje); } //Busca um agendamento cadastrado com Data Final que será cadastrada if (formPesquisa.DataConsultaFinal != null) { DateTime dataAmanha = DateTime.ParseExact(formPesquisa.DataConsultaFinal, "yyyy-MM-dd", ptBR); query = query.Where(e => e.DataConsulta < dataAmanha); } //Busca um agendamento cadastrado pelo Plano de Saude que será cadastrado if (formPesquisa.PlanoDeSaudeId != null) { query = query.Where(e => e.Paciente.PlanoDeSaudeId == formPesquisa.PlanoDeSaudeId); } query = query.OrderBy(c => c.DataConsulta).Skip((pagina - 1) * registros).Take(registros); //Traz os objetos Paciente e Anaminese para a view da consulta var pacienteAnaminese = query.ToList(); pacienteAnaminese.ForEach(p => { p.Anamnese = _context.Anamneses.Where(e => e.Id == p.AnamneseId).FirstOrDefault(); p.Paciente = _context.Pacientes.Where(e => e.Id == p.PacienteId).FirstOrDefault(); }); return(PartialView("_Listar", pacienteAnaminese)); }
private void btPesquisar_Click(object sender, EventArgs e) { FormPesquisa pesquisa = new FormPesquisa(); pesquisa.Show(); }