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)); }