Пример #1
0
        public async Task <IActionResult> SemanalPsico(SemanalPsicologoViewModel model, string psico)
        {
            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 lancamentos = relatorioDAL.ObterExamePorPsicologoSemanal(model, psico);
            var psicos      = colaboradorDAL.ObterPsicologosClassificadosPorNome().ToList();

            if (roleUser.FirstOrDefault() != RolesNomes.Administrador)
            {
                var colId         = userManager.GetUserAsync(User).Result.ColaboradorId;
                var userClinicaId = colaboradorDAL.ObterColaboradorPorId(colId).Result.ClinicaId;

                var idClinica = colaboradorDAL.ObterColaboradorPorId(userColId).Result.ClinicaId;
                lancamentos = lancamentos.Where(l => l.ClinicaId == userClinicaId);
            }

            var psicoList = new List <string>();

            psicoList.Add("Selecionar Psicologo");
            foreach (var p in psicos)
            {
                psicoList.Add(p.Nome);
            }

            SelectList Psicologos = new SelectList(psicoList);

            ViewData["Psicologos"] = Psicologos;

            var datasValidas = ValidarDatas(model.DataInicio, model.DataFim);

            AgrupamentoSemanalDeExamesPsico(lancamentos, psico);

            ViewBag.Cabecalho = "Exames Realizados";

            if (psico != null && psico != "Selecionar Psicologo" && datasValidas)
            {
                ViewBag.Cabecalho = $"Exames Realizados de {model.DataInicio.ToString("dd/MM/yy")} até {model.DataFim.ToString("dd/MM/yy")}";
            }

            return(View(lancamentos));
        }
Пример #2
0
 public IQueryable <SemanalPsicologoViewModel> ObterExamePorPsicologoSemanal(SemanalPsicologoViewModel model, string psico)
 {
     return(from a in context.Caixas
            join b in context.Clientes on a.ClienteId equals b.Id
            join c in context.Colaboradores on b.PsicologoId equals c.Id
            where c.Nome == psico
            where a.Data >= model.DataInicio && a.Data <= model.DataFim
            where b.Status == EnumHelper.Status.Ativo
            where a.Status == EnumHelper.Status.Ativo
            where a.ProdutoId == 2 || a.ProdutoId == 3
            orderby c.Nome
            select new SemanalPsicologoViewModel
     {
         Id = c.Id,
         ClinicaId = c.ClinicaId,
         Nome = c.Nome,
         DataCx = a.Data,
         Cliente = b.Nome
     });
 }