Exemple #1
0
        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());
        }