public async Task <IActionResult> DiarioMedico(DiarioMedicoViewModel model, DateTime dateTime, string medico) { var userColId = userManager.GetUserAsync(User).Result.ColaboradorId; var userId = userManager.GetUserAsync(User).Result.Id; var usuario = await userManager.FindByIdAsync(userId); var roleUser = await userManager.GetRolesAsync(usuario); var dtCabecalho = DateTime.Today; if (dateTime.Year == 1) { model.Data = DateTime.Today; } else { model.Data = dateTime; dtCabecalho = dateTime; } var lancamentos = relatorioDAL.ObterExamePorMedicoDiario(model, medico); var medicos = colaboradorDAL.ObterMedicosClassificadosPorNome().ToList(); if (roleUser.FirstOrDefault() != RolesNomes.Administrador) { var colId = userManager.GetUserAsync(User).Result.ColaboradorId; var userClinicaId = colaboradorDAL.ObterColaboradorPorId(colId).Result.ClinicaId; lancamentos = lancamentos.Where(l => l.ClinicaId == userClinicaId); var idClinica = colaboradorDAL.ObterColaboradorPorId(userColId).Result.ClinicaId; medicos = medicos.Where(m => m.ClinicaId == idClinica).ToList(); } var medicoList = new List <string>(); medicoList.Add("Selecionar Medico"); foreach (var m in medicos) { medicoList.Add(m.Nome); } SelectList Medicos = new SelectList(medicoList); ViewData["Medicos"] = Medicos; AgrupamentoDeExamesMedico(lancamentos, medico); ViewBag.DataAtual = dtCabecalho.ToString("dd/MM/yyyy"); return(View(lancamentos)); }
public IQueryable <DiarioMedicoViewModel> ObterExamePorMedicoDiario(DiarioMedicoViewModel model, string medico) { if (medico != null && medico != "Selecionar Medico") { return(from a in context.Caixas join b in context.Clientes on a.ClienteId equals b.Id join c in context.Colaboradores on b.MedicoId equals c.Id where c.Nome == medico where b.Status == EnumHelper.Status.Ativo where a.Status == EnumHelper.Status.Ativo where a.ProdutoId == 1 || a.ProdutoId == 3 || a.ProdutoId == 5 where a.Data == model.Data orderby c.Nome select new DiarioMedicoViewModel { Id = c.Id, ClinicaId = c.ClinicaId, Nome = c.Nome, Data = a.Data, Cliente = b.Nome }); } return(from a in context.Caixas join b in context.Clientes on a.ClienteId equals b.Id join c in context.Colaboradores on b.MedicoId equals c.Id where b.Status == EnumHelper.Status.Ativo where a.Status == EnumHelper.Status.Ativo where a.ProdutoId == 1 || a.ProdutoId == 3 || a.ProdutoId == 5 where a.Data == model.Data orderby c.Nome select new DiarioMedicoViewModel { Id = c.Id, ClinicaId = c.ClinicaId, Nome = c.Nome, Data = a.Data, Cliente = b.Nome }); }