public PartialViewResult QuartelViatura(Guid quartelId)
        {
            var quartelViaturas = new QuartelViaturaViewModel();

            quartelViaturas.QuartelId       = quartelId;
            quartelViaturas.QuartelViaturas = _quartelViaturaStore.GetByQuartelId(quartelId).ToList();
            quartelViaturas.Viaturas        = _viaturaStore.GetAll().ToList();

            return(PartialView("../QuartelViatura/_QuartelViatura", quartelViaturas));
        }
        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 ActionResult Detail(Guid id, bool message)
        {
            if (message)
            {
                ViewData["MessageCreate"] = "Quartel criado com sucesso!";
            }

            var quartel = new QuartelViewModel();

            quartel.Quartel            = _quartelStore.GetById(id);
            quartel.Quartel.Companhias = _companhiaStore.GetAll();

            var quartelViatura = new QuartelViaturaViewModel();

            quartelViatura.QuartelId        = id;
            quartelViatura.QuartelViaturas  = _quartelViaturaStore.GetByQuartelId(id).ToList();
            quartelViatura.Viaturas         = _viaturaStore.GetAll().ToList();
            quartel.QuartelViaturaViewModel = quartelViatura;

            return(View(quartel));
        }
        public ActionResult QuartelMapa()
        {
            var quarteis          = _quartelStore.GetAll();
            var quarteisViewModel = new List <QuartelViewModel>();

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

                var viaturaTipoFuncoes = _viaturaTipoFuncaoStore.GetByQuartelId(quartel.Id);
                quartelViewModel.QuantidadeFuncoesViewModel = 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();

                var quartelViatura = new QuartelViaturaViewModel();
                quartelViatura.QuartelViaturas = _quartelViaturaStore.GetByQuartelId(quartel.Id).ToList();
                //quartelViatura.Viaturas = _viaturaStore.GetAll().ToList();
                quartelViewModel.QuartelViaturaViewModel = quartelViatura;
                quartelViewModel.Bombeiros = _bombeiroStore.GetByQuartelId(quartel.Id);
                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));
        }