private IList <DTODivisaoQuarto> ObterDivisaoQuartos(int idEvento) { List <DTODivisaoQuarto> quartosDTO = new List <DTODivisaoQuarto>(); IList <Quarto> quartos = m_RepQuartos.ListarTodosQuartosPorEventoComParticipantes(idEvento); IList <Inscricao> listaInscricoes = m_RepInscricoes.ListarTodasInscricoesAceitasComPessoasDormemEvento(idEvento); var inscritosNosQuartos = quartos.SelectMany(x => x.Inscritos).Select(x => x.Inscricao); var inscritosSemQuartos = listaInscricoes.Where(x => !inscritosNosQuartos.Contains(x)); quartosDTO.AddRange(quartos.Select(x => new DTODivisaoQuarto { Id = x.Id, Nome = x.Nome, Capacidade = x.Capacidade, EhFamilia = x.EhFamilia, Sexo = x.Sexo, Coordenadores = x.Inscritos.Where(y => y.EhCoordenador).Select(y => y.Inscricao.ConverterBasicoResp()).ToList(), Participantes = x.Inscritos.Where(y => !y.EhCoordenador).Select(y => y.Inscricao.ConverterBasicoResp()).ToList() })); if (inscritosSemQuartos.Count() > 0) { quartosDTO.Add(new DTODivisaoQuarto { Id = 0, Nome = "Participantes sem quarto definido", Capacidade = null, EhFamilia = false, Sexo = EnumSexoQuarto.Misto, Coordenadores = new List <DTOBasicoInscricaoResp>(), Participantes = new List <DTOBasicoInscricaoResp>( inscritosSemQuartos.Select(x => x.ConverterBasicoResp()).ToList()) }); } return(quartosDTO); }
public DivisaoManualInscricaoPorQuarto(Evento evento, AQuartos quartos) { mEvento = evento; mQuartos = quartos.ListarTodosQuartosPorEventoComParticipantes(evento.Id); }