public ActionResult RSBAtualDiario()
        {
            var quarteis  = _quartelStore.GetAll();
            var bombeiros = _bombeiroStore.GetAll();

            var quarteisViewModel = new List <RSBAtualDiarioViewModel>();

            foreach (var quartel in quarteis)
            {
                var quartelViewModel = new RSBAtualDiarioViewModel();
                quartelViewModel.Quartel = _quartelStore.GetById(quartel.Id);

                var viaturaTipoFuncoes = _viaturaTipoFuncaoStore.GetByQuartelId(quartel.Id);
                quartelViewModel.QuantidadeFuncoesDiurnoViewModel = viaturaTipoFuncoes
                                                                    .GroupBy(l => l.FuncaoId)
                                                                    .Select(x => new QuantidadeFuncaoViewModel
                {
                    FuncaoId   = x.First().FuncaoId,
                    FuncaoNome = x.First().Funcao.Nome,
                    Quantidade = x.Sum(c => c.Quantidade),
                }).ToList();
                quartelViewModel.QuantidadeFuncoesNoturnoViewModel = quartelViewModel.QuantidadeFuncoesDiurnoViewModel;

                var quartelViatura = new QuartelViaturaViewModel();
                quartelViatura.QuartelViaturas           = _quartelViaturaStore.GetByQuartelId(quartel.Id).ToList();
                quartelViewModel.QuartelViaturaViewModel = quartelViatura;

                var escalaDiurno  = _escalaStore.GetByQuartelIdAndDtEscalaAndPeriodoDiurno(quartel.Id, DateTime.Now.Date, true).ToList();
                var escalaNoturno = _escalaStore.GetByQuartelIdAndDtEscalaAndPeriodoDiurno(quartel.Id, DateTime.Now.Date, false).ToList();
                escalaDiurno  = escalaDiurno.Where(x => x.EscalaTipoId == Guid.Empty).ToList();
                escalaNoturno = escalaNoturno.Where(x => x.EscalaTipoId == Guid.Empty).ToList();

                escalaDiurno.ForEach(e => e.Bombeiro  = bombeiros.FirstOrDefault(b => b.Id == e.BombeiroId.ToString()));
                escalaNoturno.ForEach(e => e.Bombeiro = bombeiros.FirstOrDefault(b => b.Id == e.BombeiroId.ToString()));
                quartelViewModel.BombeirosDiurno      = escalaDiurno.Select(x => x.Bombeiro).ToList();
                quartelViewModel.BombeirosNoturno     = escalaNoturno.Select(x => x.Bombeiro).ToList();

                quarteisViewModel.Add(quartelViewModel);
            }

            var batalhoes  = _batalhaoStore.GetAll();
            var companhias = _companhiaStore.GetAll();

            quarteisViewModel.ForEach(q => q.Quartel.Companhia          = companhias.FirstOrDefault(c => c.Id == q.Quartel.CompanhiaId));
            quarteisViewModel.ForEach(q => q.Quartel.Companhia.Batalhao = batalhoes.FirstOrDefault(b => b.Id == q.Quartel.Companhia.BatalhaoId));

            return(View(quarteisViewModel));
        }
        public PartialViewResult getBombeirosFuncao(Guid quartelId, bool periodoDiurno, DateTime dtEscala)
        {
            var escalas = _escalaStore.GetByQuartelIdAndDtEscalaAndPeriodoDiurno(quartelId, dtEscala, periodoDiurno).ToList();

            var bombeiros = _bombeiroStore.GetAll().OrderBy(x => x.Nome).ToList();
            var funcoes   = _funcaoStore.GetAll().OrderBy(x => x.Nome).ToList();

            escalas.ForEach(e => e.Bombeiro = bombeiros.FirstOrDefault(b => b.Id == e.BombeiroId.ToString()));
            escalas.ForEach(e => e.Funcao   = funcoes.FirstOrDefault(f => f.Id == e.FuncaoId));

            //var funcaoBombeiros = new List<FuncaoBombeirosViewModel>();

            //List<string> funcoess = funcaoBombeiros.Select(m => m.Funcao.Nome).Distinct().ToList();

            ////var bombeirosByDataAndQuartelViewModel = new BombeirosByDataAndQuartelViewModel();
            ////bombeirosByDataAndQuartelViewModel.dtEscala = (string)dtEscala.ToString("d");
            ////bombeirosByDataAndQuartelViewModel.quartel = _quartelStore.GetById(quartelId);

            return(PartialView("../DispositivoMinimo/_BombeiroFuncao", escalas));
        }