public IList <DTOListaMetaIndividualMeta> ConsultarMetasIndividuais(int pIdUsuario) { IList <MetaIndividual> lstMeta = null; IList <DTOListaMetaIndividualMeta> lstResult = null; try { lstMeta = new BMMetaIndividual().ObterPorFiltro(new MetaIndividual() { Usuario = new BMUsuario().ObterPorId(pIdUsuario) }); lstResult = new List <DTOListaMetaIndividualMeta>(); foreach (MetaIndividual mi in lstMeta) { DTOListaMetaIndividualMeta miDTO = new DTOListaMetaIndividualMeta() { NomeMetaIndividual = mi.Nome, ValidadeMetaIndividual = mi.DataValidade }; foreach (ItemMetaIndividual imi in mi.ListaItensMetaIndividual) { DTOListaProgramaSolucaoEducacional solDTO = new DTOListaProgramaSolucaoEducacional() { CodigoSolucaoEducacional = imi.SolucaoEducacional.ID.ToString(), NomeSolucaoEducacional = imi.SolucaoEducacional.Nome }; foreach (var tg in imi.SolucaoEducacional.ListaTags) { DTOListaProgramaSolucaoEducacionalTags tgDTO = new DTOListaProgramaSolucaoEducacionalTags() { Codigo = tg.Tag.ID, Nome = tg.Tag.Nome }; solDTO.ListaTags.Add(tgDTO); } IList <MatriculaOferta> lstMo = imi.SolucaoEducacional.ListaOferta.Select(x => x.ListaMatriculaOferta).FirstOrDefault(); lstMo = lstMo.Where(x => x.Usuario.ID.Equals(pIdUsuario)).ToList(); foreach (MatriculaOferta mo in lstMo) { MatriculaTurma mt = mo.Oferta.ListaTurma.Where(x => x.Oferta.ID == mo.Oferta.ID) .Select(x => x.ListaMatriculas).FirstOrDefault() .Where(x => x.MatriculaOferta.Usuario.ID == mo.Usuario.ID && !(x.MatriculaOferta.StatusMatricula.Equals(enumStatusMatricula.CanceladoAdm) && x.MatriculaOferta.StatusMatricula.Equals(enumStatusMatricula.CanceladoAluno))) .OrderByDescending(x => x.DataMatricula) .FirstOrDefault(); DTOListaProgramaSolucaoEducacionalMatricula mtDTO = new DTOListaProgramaSolucaoEducacionalMatricula(); if (mt != null) { mtDTO.DataSolicitacao = mo.DataSolicitacao; mtDTO.StatusMatricula = mt.MatriculaOferta.StatusMatricula.ToString(); } else { mtDTO.DataSolicitacao = mo.DataSolicitacao; mtDTO.StatusMatricula = mo.StatusMatricula.ToString(); } solDTO.ListaSolucaoEducacionalMatricula.Add(mtDTO); } miDTO.ListaItemMetaIndividual.Add(new DTOListaMetaIndividualItemMeta() { SolucaoEducacional = solDTO }); } lstResult.Add(miDTO); } } catch (Exception ex) { ErroUtil.Instancia.TratarErro(ex); } return(lstResult); }
public List <DTOListaProgramaPrograma> ListarProgramasDisponiveis(int pIdUsuario) { programaBM = new BMPrograma(); IList <DTOListaProgramaPrograma> lstResult = new List <DTOListaProgramaPrograma>(); IList <ProgramaSolucaoEducacional> lstP; if (pIdUsuario > 0) { lstP = programaBM.ObterPorUsuario(pIdUsuario); } else { lstP = programaBM.ObterPrograSolucaoEducacional(); } foreach (var pr in lstP) { DTOListaProgramaPrograma pDTO = new DTOListaProgramaPrograma() { CodigoPrograma = pr.Programa.ID.ToString(), NomePrograma = pr.Programa.Nome }; IList <MatriculaPrograma> lstMtp = pIdUsuario == 0 ? pr.Programa.ListaMatriculaPrograma : pr.Programa.ListaMatriculaPrograma.Where(x => x.Usuario.ID == pIdUsuario).ToList(); foreach (MatriculaPrograma p in lstMtp) { DTOListaProgramaMatriculaPrograma mpDTO = new DTOListaProgramaMatriculaPrograma() { StatusMatricula = p.StatusMatricula.ToString() }; pDTO.ListaMatriculaPrograma.Add(mpDTO); } DTOListaProgramaSolucaoEducacional seDTO = new DTOListaProgramaSolucaoEducacional() { CodigoSolucaoEducacional = pr.SolucaoEducacional.ID.ToString(), NomeSolucaoEducacional = pr.SolucaoEducacional.Nome, }; if (pIdUsuario > 0) { IList <MatriculaOferta> lstMo = pr.SolucaoEducacional.ListaOferta.Select(x => x.ListaMatriculaOferta).FirstOrDefault(); lstMo = lstMo.Where(x => x.Usuario.ID.Equals(pIdUsuario)).ToList(); foreach (MatriculaOferta mo in lstMo) { MatriculaTurma mt = mo.Oferta.ListaTurma.Where(x => x.Oferta.ID == mo.Oferta.ID) .Select(x => x.ListaMatriculas).FirstOrDefault() .Where(x => x.MatriculaOferta.Usuario.ID == mo.Usuario.ID && !(x.MatriculaOferta.StatusMatricula.Equals(enumStatusMatricula.CanceladoAdm) && x.MatriculaOferta.StatusMatricula.Equals(enumStatusMatricula.CanceladoAluno))) .OrderByDescending(x => x.DataMatricula) .FirstOrDefault(); DTOListaProgramaSolucaoEducacionalMatricula mtDTO = new DTOListaProgramaSolucaoEducacionalMatricula(); if (mt != null) { mtDTO.DataSolicitacao = mo.DataSolicitacao; mtDTO.StatusMatricula = mt.MatriculaOferta.StatusMatricula.ToString(); } else { mtDTO.DataSolicitacao = mo.DataSolicitacao; mtDTO.StatusMatricula = mo.StatusMatricula.ToString(); } seDTO.ListaSolucaoEducacionalMatricula.Add(mtDTO); } } foreach (SolucaoEducacionalTags tg in pr.SolucaoEducacional.ListaTags) { DTOListaProgramaSolucaoEducacionalTags tgDTO = new DTOListaProgramaSolucaoEducacionalTags() { Codigo = tg.Tag.ID, Nome = tg.Tag.Nome }; seDTO.ListaTags.Add(tgDTO); } pDTO.ListaSolucaoEducacional.Add(seDTO); lstResult.Add(pDTO); } return(lstResult.ToList()); }