Пример #1
0
        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));
        }
Пример #2
0
        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
            });
        }