public Stream GerarImpressoPDF(int idEvento) { Stream relatorio = new MemoryStream(); ExecutarSeguramente(() => { var quartos = m_RepQuartos.ListarTodosQuartosPorEvento(idEvento); relatorio = m_GeradorRelDivisaoQuartos.Gerar(quartos); }); return(relatorio); }
public IEnumerable <DTODivisaoQuarto> RemoverTodasDivisoes(int idEvento) { IList <DTODivisaoQuarto> quartosDTO = new List <DTODivisaoQuarto>(); ExecutarSeguramente(() => { IList <Quarto> quartos = m_RepQuartos.ListarTodosQuartosPorEvento(idEvento); foreach (var quarto in quartos) { quarto.RemoverTodosInscritos(); m_RepQuartos.Atualizar(quarto); } quartosDTO = ObterDivisaoQuartos(idEvento); }); return(quartosDTO); }
public IList <Quarto> Dividir() { var quartos = mRepQuartos.ListarTodosQuartosPorEvento(mEvento.Id); var listaInscricoes = mRepInscricoes.ListarTodasInscricoesAceitasComPessoasDormemEvento(mEvento.Id); var criancas = listaInscricoes .Where(x => x is InscricaoInfantil && x.Pessoa.CalcularIdadeEmAnos(mEvento.PeriodoRealizacaoEvento.DataInicial) <= 6) .Select(x => (InscricaoInfantil)x) .ToList(); var inscricoesFamilia = new List <InscricaoFamilia>(); foreach (var crianca in criancas) { Inscricao responsavel1 = null; Inscricao responsavel2 = null; Inscricao responsavelDefinido = null; if (crianca.InscricaoResponsavel1.DormeEvento) { responsavel1 = crianca.InscricaoResponsavel1; } if (crianca.InscricaoResponsavel2 != null && crianca.InscricaoResponsavel2.DormeEvento) { responsavel2 = crianca.InscricaoResponsavel2; } if ((responsavel1 != null && responsavel1.Pessoa.Sexo == crianca.Pessoa.Sexo) || (responsavel2 != null && responsavel2.Pessoa.Sexo == crianca.Pessoa.Sexo)) { if (responsavel1 != null && responsavel1.Pessoa.Sexo == crianca.Pessoa.Sexo) { responsavelDefinido = responsavel1; } else { responsavelDefinido = responsavel2; } } else if (responsavel1 != null) { responsavelDefinido = responsavel1; } else { responsavelDefinido = responsavel2; } var item = inscricoesFamilia.SingleOrDefault(x => x.Responsavel == responsavelDefinido); if (item != null) { item.Criancas.Add(crianca); } else { var familia = new InscricaoFamilia(); familia.Responsavel = responsavelDefinido; familia.Criancas = new List <InscricaoInfantil>() { crianca }; inscricoesFamilia.Add(familia); listaInscricoes.Remove(responsavelDefinido); } listaInscricoes.Remove(crianca); } var inscritosGeral = listaInscricoes .Where(x => !(x is InscricaoInfantil && x.Pessoa.CalcularIdadeEmAnos(mEvento.PeriodoRealizacaoEvento.DataInicial) <= 6)) .ToList(); var inscritosGeralPorSexo = inscritosGeral.GroupBy(x => x.Pessoa.Sexo); var quartosGeral = quartos.Where(x => !x.EhFamilia); var quartosFamilia = quartos.Where(x => x.EhFamilia); /*var validacao = new ValidacaoDivisaoQuartos(); * validacao.ValidarGeral(quartosGeral, inscritosGeralPorSexo); * validacao.ValidarFamilia(quartosFamilia, inscricoesFamilia);*/ foreach (var quarto in quartos) { quarto.RemoverTodosInscritos(); } RealizarDivisaoGeral(quartosGeral, inscritosGeralPorSexo); RealizarDivisaoFamilia(quartosFamilia, inscricoesFamilia); return(quartos); }