예제 #1
0
        public Transferencia GetTransferencia(Guid id, Calendario cal)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("TransferenciaSelectById");

                baseDados.AddInParameter(cmd, "@Id", DbType.Guid, id);

                Transferencia trans = null;
                TurmaDAO turmaDAO = new TurmaDAO();
                RecursosDAO recDAO = new RecursosDAO();
                EventoDAO eventoDAO = new EventoDAO();

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    leitor.Read();
                    Guid transId = leitor.GetGuid(leitor.GetOrdinal("Id"));

                    Recurso rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                    string hora = leitor.GetString(leitor.GetOrdinal("Horario"));
                    DateTime data = leitor.GetDateTime(leitor.GetOrdinal("Data"));

                    Turma turmaRecebeu = null;
                    Turma turmaTransferiu = null;
                    Evento eventoRecebeu = null;
                    Evento eventoTransferiu = null;

                    Guid? turmaRecId = leitor["TurmaRecebeu"] as Guid?;
                    if (turmaRecId.HasValue)
                        turmaRecebeu = turmaDAO.GetTurma(turmaRecId.Value, cal);
                    else turmaRecebeu = null;

                    Guid? turmaTransId = leitor["TurmaTransferiu"] as Guid?;
                    if (turmaTransId.HasValue)
                        turmaTransferiu = turmaDAO.GetTurma(turmaTransId.Value, cal);
                    else eventoTransferiu = null;

                    Guid? eventoRecId = leitor["EventoRecebeu"] as Guid?;
                    if (eventoRecId.HasValue)
                        eventoRecebeu = eventoDAO.GetEvento(eventoRecId.Value);
                    else eventoRecebeu = null;

                    Guid? eventoTransId = leitor["EventoTransferiu"] as Guid?;
                    if (eventoTransId.HasValue)
                        eventoTransferiu = eventoDAO.GetEvento(eventoTransId.Value);
                    else eventoTransferiu = null;

                    bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada"));

                    trans = new Transferencia(transId, rec, data, hora, turmaRecebeu, turmaTransferiu, foiVisualizada, eventoRecebeu, eventoTransferiu);

                }
                return trans;
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #2
0
        public List <Alocacao> GetRecursosAlocados(DateTime data, string hora)
        {
            try
            {
                List <Alocacao> aux = new List <Alocacao>();

                DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectAlocados");
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Hora", DbType.String, hora);

                RecursosDAO recursoDao = new RecursosDAO();
                EventoDAO   eventoDao  = new EventoDAO();
                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        Recurso recurso = recursoDao.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                        AulasDAO aulaDao = new AulasDAO();
                        Aula     aula;
                        Evento   evento;

                        Guid?aulaId = leitor["AulaId"] as Guid?;
                        if (aulaId.HasValue)
                        {
                            aula = aulaDao.GetAula(aulaId.Value);
                        }
                        else
                        {
                            aula = null;
                        }

                        Guid?eventoID = leitor["EventoId"] as Guid?;
                        if (eventoID.HasValue)
                        {
                            evento = eventoDao.GetEvento(eventoID.Value);
                        }
                        else
                        {
                            evento = null;
                        }

                        Alocacao aloc = new Alocacao(recurso, leitor.GetDateTime(leitor.GetOrdinal("Data")), hora, aula, evento);

                        aux.Add(aloc);
                    }
                }

                return(aux);
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #3
0
        public Alocacao GetAlocacao(Guid recursoid, DateTime data, string horario)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelect");
                baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, recursoid);
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario);

                Alocacao aux = null;

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    leitor.Read();

                    RecursosDAO recursoDao = new RecursosDAO();
                    Recurso     recurso    = recursoDao.GetRecurso(recursoid);

                    AulasDAO aulaDao = new AulasDAO();
                    Aula     aula;

                    Guid?aulaId = leitor["AulaId"] as Guid?;
                    if (aulaId.HasValue)
                    {
                        aula = aulaDao.GetAula(aulaId.Value);
                    }
                    else
                    {
                        aula = null;
                    }

                    EventoDAO eventoDao = new EventoDAO();
                    Evento    evento;

                    Guid?eventoID = leitor["EventoId"] as Guid?;
                    if (eventoID.HasValue)
                    {
                        evento = eventoDao.GetEvento(eventoID.Value);
                    }
                    else
                    {
                        evento = null;
                    }



                    aux = new Alocacao(recurso, leitor.GetDateTime(leitor.GetOrdinal("Data")), leitor.GetString(leitor.GetOrdinal("Horario")), aula, evento);
                }
                return(aux);
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #4
0
        public List <Troca> GetNaoVisualizadasByEvento(Guid eventoId, DateTime data, string horario)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("TrocasSelectNaoVisualizadasByEvento");
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario);
                baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, eventoId);

                List <Troca> aux   = new List <Troca>();
                Troca        troca = null;

                AlocacaoDAO alocDAO = new AlocacaoDAO();
                RecursosDAO recDAO  = new RecursosDAO();

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        Guid trocaId = leitor.GetGuid(leitor.GetOrdinal("Id"));

                        Recurso recAtual    = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")));
                        Recurso recDesejado = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")));

                        Alocacao alocAtual    = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")), data, horario);
                        Alocacao alocDesejada = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")), data, horario);

                        bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente"));

                        bool?foiAceita = leitor["FoiAceita"] as bool?;
                        if (foiAceita.HasValue)
                        {
                            foiAceita = foiAceita.Value;
                        }
                        else
                        {
                            foiAceita = null;
                        }

                        bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada"));

                        troca = new Troca(trocaId, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data);
                        aux.Add(troca);
                    }
                }


                return(aux);
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #5
0
        internal List <Alocacao> GetAlocacoes(DateTime data)
        {
            List <Alocacao> lista = new List <Alocacao>();

            DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectTodos");

            baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);

            AulasDAO    aulaDAO   = new AulasDAO();
            EventoDAO   eventoDAO = new EventoDAO();
            RecursosDAO recDAO    = new RecursosDAO();

            using (IDataReader leitor = baseDados.ExecuteReader(cmd))
            {
                Alocacao aloc;

                while (leitor.Read())
                {
                    Aula    au     = null;
                    Recurso rec    = null;
                    Evento  evento = null;

                    DateTime?dataR = leitor["Data"] as DateTime?;
                    if (dataR.HasValue)
                    {
                        data = dataR.Value;
                    }

                    rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                    Guid?aulaId = leitor["AulaId"] as Guid?;
                    if (aulaId.HasValue)
                    {
                        au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId")));
                    }

                    Guid?eventoId = leitor["EventoId"] as Guid?;
                    if (eventoId.HasValue)
                    {
                        evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId")));
                    }

                    string hora = (string)leitor["Horario"];

                    aloc = new Alocacao(rec, data, hora, au, evento);

                    lista.Add(aloc);
                }
            }
            return(lista);
        }
예제 #6
0
        public List <Alocacao> GetAlocacoesSemData(Calendario cal, Secretario secretario)
        {
            List <Alocacao> lista = new List <Alocacao>();

            DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByProfessorSemData");

            baseDados.AddInParameter(cmd, "@ProfessorId", DbType.Guid, secretario.Id);
            baseDados.AddInParameter(cmd, "@DataInicio", DbType.DateTime, cal.InicioG1);
            baseDados.AddInParameter(cmd, "@DataFim", DbType.DateTime, cal.FimG2);

            AulasDAO    aulaDAO   = new AulasDAO();
            EventoDAO   eventoDAO = new EventoDAO();
            RecursosDAO recDAO    = new RecursosDAO();

            using (IDataReader leitor = baseDados.ExecuteReader(cmd))
            {
                Alocacao aloc;

                while (leitor.Read())
                {
                    Aula     au       = null;
                    Recurso  rec      = null;
                    Evento   evento   = null;
                    DateTime dateTime = new DateTime();

                    rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                    Guid?aulaId = leitor["AulaId"] as Guid?;
                    if (aulaId.HasValue)
                    {
                        au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId")));
                    }

                    Guid?eventoId = leitor["EventoId"] as Guid?;
                    if (eventoId.HasValue)
                    {
                        evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId")));
                    }

                    string hora = (string)leitor["Hora"];

                    dateTime = (DateTime)leitor["Data"];

                    aloc = new Alocacao(rec, dateTime, hora, au, evento);

                    lista.Add(aloc);
                }
            }
            return(lista);
        }
예제 #7
0
        public List <Recurso> GetRecursoAlocadoByEvento(DateTime data, string hora, Guid eventoId)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByEvento");
                baseDados.AddInParameter(cmd, "@Evento", DbType.Guid, eventoId);
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Horario", DbType.String, hora);

                List <Recurso> listaRecursos = new List <Recurso>();
                Recurso        aux;
                RecursosDAO    RecDAO   = new RecursosDAO();
                FaculdadesDAO  faculDAO = new FaculdadesDAO();

                using (RefCountingDataReader leitor = (RefCountingDataReader)baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        if (((SqlDataReader)leitor.InnerReader).HasRows)
                        {
                            aux = new Recurso();
                            CategoriaRecurso catRec = new CategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId")), leitor.GetString(leitor.GetOrdinal("CatDescricao")));
                            aux.Categoria      = catRec;
                            aux.Descricao      = leitor.GetString(leitor.GetOrdinal("Descricao"));
                            aux.EstaDisponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel"));

                            List <HorarioBloqueado> listaHB = RecDAO.GetHorarioBloqueadoByRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));
                            aux.HorariosBloqueados = listaHB;
                            aux.Id = leitor.GetGuid(leitor.GetOrdinal("RecursoId"));

                            Faculdade facul = faculDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo")));
                            aux.Vinculo = facul;

                            listaRecursos.Add(aux);
                        }
                    }
                }

                return(listaRecursos);
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #8
0
        public Alocacao GetAlocacao(Guid recursoid, DateTime data, string horario)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelect");
                baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, recursoid);
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario);

                Alocacao aux = null;

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    leitor.Read();

                    RecursosDAO recursoDao = new RecursosDAO();
                    Recurso recurso = recursoDao.GetRecurso(recursoid);

                    AulasDAO aulaDao = new AulasDAO();
                    Aula aula;

                    Guid? aulaId = leitor["AulaId"] as Guid?;
                    if (aulaId.HasValue)
                        aula = aulaDao.GetAula(aulaId.Value);
                    else aula = null;

                    EventoDAO eventoDao = new EventoDAO();
                    Evento evento;

                    Guid? eventoID = leitor["EventoId"] as Guid?;
                    if (eventoID.HasValue)
                        evento = eventoDao.GetEvento(eventoID.Value);
                    else evento = null;

                    aux = new Alocacao(recurso, leitor.GetDateTime(leitor.GetOrdinal("Data")), leitor.GetString(leitor.GetOrdinal("Horario")), aula, evento);
                }
                return aux;
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #9
0
        public List <Troca> GetTrocasEventosByAutor(Guid autorid, Calendario cal)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("TrocasEventosSelectByAutor");

                baseDados.AddInParameter(cmd, "@AutorId", DbType.Guid, autorid);
                baseDados.AddInParameter(cmd, "@CalendarioId", DbType.Guid, cal.Id);

                List <Troca> aux       = new List <Troca>();
                Troca        troca     = null;
                AulasDAO     aulaDAO   = new AulasDAO();
                AlocacaoDAO  alocDAO   = new AlocacaoDAO();
                RecursosDAO  recDAO    = new RecursosDAO();
                EventoDAO    eventoDAO = new EventoDAO();

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        Guid trocaId = leitor.GetGuid(leitor.GetOrdinal("Id"));

                        Recurso recAtual    = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")));
                        Recurso recDesejado = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")));

                        string   horario = leitor.GetString(leitor.GetOrdinal("Horario"));
                        DateTime data    = leitor.GetDateTime(leitor.GetOrdinal("Data"));

                        Aula   aulaAtual      = null;
                        Aula   aulaDesejada   = null;
                        Evento eventoAtual    = null;
                        Evento eventoDesejado = null;

                        Guid?IdAulaAtual = leitor["IdAulaAtual"] as Guid?;
                        if (IdAulaAtual.HasValue)
                        {
                            aulaAtual = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("IdAulaAtual")));
                        }

                        Guid?IdAulaDesejada = leitor["IdAulaDesejada"] as Guid?;
                        if (IdAulaDesejada.HasValue)
                        {
                            aulaDesejada = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("IdAulaDesejada")));
                        }

                        Guid?IdEventoAtual = leitor["IdEventoAtual"] as Guid?;
                        if (IdEventoAtual.HasValue)
                        {
                            eventoAtual = eventoDAO.GetEvento(IdEventoAtual);
                        }

                        Guid?IdEventoDesejado = leitor["IdEventoDesejado"] as Guid?;
                        if (IdEventoDesejado.HasValue)
                        {
                            eventoDesejado = eventoDAO.GetEvento(IdEventoDesejado);
                        }

                        Alocacao alocAtual    = new Alocacao(recAtual, data, horario, aulaAtual, eventoAtual);
                        Alocacao alocDesejada = new Alocacao(recDesejado, data, horario, aulaDesejada, eventoDesejado);

                        bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente"));

                        bool?foiAceita = leitor["FoiAceita"] as bool?;
                        if (foiAceita.HasValue)
                        {
                            foiAceita = foiAceita.Value;
                        }
                        else
                        {
                            foiAceita = null;
                        }

                        bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada"));

                        troca = new Troca(trocaId, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data);

                        aux.Add(troca);
                    }
                }


                return(aux);
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #10
0
        public List <Transferencia> GetTransferencias(Guid profId, Calendario cal)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("TranferenciaSelectByProfessor");

                baseDados.AddInParameter(cmd, "@ProfessorId", DbType.Guid, profId);

                List <Transferencia> aux       = new List <Transferencia>();
                Transferencia        trans     = null;
                TurmaDAO             turmaDAO  = new TurmaDAO();
                RecursosDAO          recDAO    = new RecursosDAO();
                EventoDAO            eventoDAO = new EventoDAO();

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        Guid transId = leitor.GetGuid(leitor.GetOrdinal("Id"));

                        Recurso rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                        string   hora = leitor.GetString(leitor.GetOrdinal("Horario"));
                        DateTime data = leitor.GetDateTime(leitor.GetOrdinal("Data"));

                        Turma  turmaRecebeu;
                        Turma  turmaTransferiu;
                        Evento eventoRecebeu;
                        Evento eventoTransferiu;

                        Guid?turmaRecId = leitor["TurmaRecebeu"] as Guid?;
                        if (turmaRecId.HasValue)
                        {
                            turmaRecebeu = turmaDAO.GetTurma(turmaRecId.Value, cal);
                        }
                        else
                        {
                            turmaRecebeu = null;
                        }

                        Guid?turmaTransId = leitor["TurmaTransferiu"] as Guid?;
                        if (turmaTransId.HasValue)
                        {
                            turmaTransferiu = turmaDAO.GetTurma(turmaTransId.Value, cal);
                        }
                        else
                        {
                            turmaTransferiu = null;
                        }

                        Guid?eventoRecId = leitor["EventoRecebeu"] as Guid?;
                        if (eventoRecId.HasValue)
                        {
                            eventoRecebeu = eventoDAO.GetEvento(eventoRecId.Value);
                        }
                        else
                        {
                            eventoRecebeu = null;
                        }

                        Guid?eventoTransId = leitor["EventoTransferiu"] as Guid?;
                        if (eventoTransId.HasValue)
                        {
                            eventoTransferiu = eventoDAO.GetEvento(eventoTransId.Value);
                        }
                        else
                        {
                            eventoTransferiu = null;
                        }

                        bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada"));
                        trans = new Transferencia(transId, rec, data, hora, turmaRecebeu, turmaTransferiu, foiVisualizada, eventoRecebeu, eventoTransferiu);

                        aux.Add(trans);
                    }
                }


                return(aux);
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #11
0
        public List<Troca> GetNaoVisualizadasByAula(Guid aulaId, DateTime data, string horario)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("TrocasSelectNaoVisualizadasByAula");
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario);
                baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, aulaId);

                List<Troca> aux = new List<Troca>();
                Troca troca = null;

                AlocacaoDAO alocDAO = new AlocacaoDAO();
                RecursosDAO recDAO = new RecursosDAO();

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {

                    while (leitor.Read())
                    {

                        Guid trocaId = leitor.GetGuid(leitor.GetOrdinal("Id"));

                        Recurso recAtual = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")));
                        Recurso recDesejado = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")));

                        Alocacao alocAtual = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")), data, horario);
                        Alocacao alocDesejada = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")), data, horario);

                        bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente"));

                        bool? foiAceita = leitor["FoiAceita"] as bool?;
                        if (foiAceita.HasValue)
                            foiAceita = foiAceita.Value;
                        else foiAceita = null;

                        bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada"));

                        troca = new Troca(trocaId, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data);
                        aux.Add(troca);
                    }
                }

                return aux;
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #12
0
        public List<Troca> GetTrocasEventosByAutor(Guid autorid, Calendario cal)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("TrocasEventosSelectByAutor");

                baseDados.AddInParameter(cmd, "@AutorId", DbType.Guid, autorid);
                baseDados.AddInParameter(cmd, "@CalendarioId", DbType.Guid, cal.Id);

                List<Troca> aux = new List<Troca>();
                Troca troca = null;
                AulasDAO aulaDAO = new AulasDAO();
                AlocacaoDAO alocDAO = new AlocacaoDAO();
                RecursosDAO recDAO = new RecursosDAO();
                EventoDAO eventoDAO = new EventoDAO();

                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {

                    while (leitor.Read())
                    {

                        Guid trocaId = leitor.GetGuid(leitor.GetOrdinal("Id"));

                        Recurso recAtual = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")));
                        Recurso recDesejado = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")));

                        string horario = leitor.GetString(leitor.GetOrdinal("Horario"));
                        DateTime data = leitor.GetDateTime(leitor.GetOrdinal("Data"));

                        Aula aulaAtual = null;
                        Aula aulaDesejada = null;
                        Evento eventoAtual = null;
                        Evento eventoDesejado = null;

                        Guid? IdAulaAtual = leitor["IdAulaAtual"] as Guid?;
                        if (IdAulaAtual.HasValue)
                            aulaAtual = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("IdAulaAtual")));

                        Guid? IdAulaDesejada = leitor["IdAulaDesejada"] as Guid?;
                        if (IdAulaDesejada.HasValue)
                            aulaDesejada = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("IdAulaDesejada")));

                        Guid? IdEventoAtual = leitor["IdEventoAtual"] as Guid?;
                        if (IdEventoAtual.HasValue)
                            eventoAtual = eventoDAO.GetEvento(IdEventoAtual);

                        Guid? IdEventoDesejado = leitor["IdEventoDesejado"] as Guid?;
                        if (IdEventoDesejado.HasValue)
                            eventoDesejado = eventoDAO.GetEvento(IdEventoDesejado);

                        Alocacao alocAtual = new Alocacao(recAtual, data, horario, aulaAtual, eventoAtual);
                        Alocacao alocDesejada = new Alocacao(recDesejado, data, horario, aulaDesejada, eventoDesejado);

                        bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente"));

                        bool? foiAceita = leitor["FoiAceita"] as bool?;
                        if (foiAceita.HasValue)
                            foiAceita = foiAceita.Value;
                        else foiAceita = null;

                        bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada"));

                        troca = new Troca(trocaId, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data);

                        aux.Add(troca);
                    }
                }

                return aux;
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #13
0
        public List<Alocacao> GetRecursosAlocados(DateTime data, string hora)
        {
            try
            {
                List<Alocacao> aux = new List<Alocacao>();

                DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectAlocados");
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Hora", DbType.String, hora);

                RecursosDAO recursoDao = new RecursosDAO();
                EventoDAO eventoDao = new EventoDAO();
                using (IDataReader leitor = baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {

                        Recurso recurso = recursoDao.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                        AulasDAO aulaDao = new AulasDAO();
                        Aula aula;
                        Evento evento;

                        Guid? aulaId = leitor["AulaId"] as Guid?;
                        if (aulaId.HasValue)
                            aula = aulaDao.GetAula(aulaId.Value);
                        else aula = null;

                        Guid? eventoID = leitor["EventoId"] as Guid?;
                        if (eventoID.HasValue)
                            evento = eventoDao.GetEvento(eventoID.Value);
                        else evento = null;

                        Alocacao aloc = new Alocacao(recurso,leitor.GetDateTime(leitor.GetOrdinal("Data")),hora, aula, evento);

                        aux.Add(aloc);
                    }
                }

                return aux;
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #14
0
        public List<Recurso> GetRecursoAlocadoByEvento(DateTime data, string hora, Guid eventoId)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByEvento");
                baseDados.AddInParameter(cmd, "@Evento", DbType.Guid, eventoId);
                baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);
                baseDados.AddInParameter(cmd, "@Horario", DbType.String, hora);

                List<Recurso> listaRecursos = new List<Recurso>();
                Recurso aux;
                RecursosDAO RecDAO = new RecursosDAO();
                FaculdadesDAO faculDAO = new FaculdadesDAO();

                using (RefCountingDataReader leitor = (RefCountingDataReader)baseDados.ExecuteReader(cmd))
                {
                    while (leitor.Read())
                    {
                        if (((SqlDataReader)leitor.InnerReader).HasRows)
                        {
                            aux = new Recurso();
                            CategoriaRecurso catRec = new CategoriaRecurso(leitor.GetGuid(leitor.GetOrdinal("CategoriaId")), leitor.GetString(leitor.GetOrdinal("CatDescricao")));
                            aux.Categoria = catRec;
                            aux.Descricao = leitor.GetString(leitor.GetOrdinal("Descricao"));
                            aux.EstaDisponivel = leitor.GetBoolean(leitor.GetOrdinal("EstaDisponivel"));

                            List<HorarioBloqueado> listaHB = RecDAO.GetHorarioBloqueadoByRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));
                            aux.HorariosBloqueados = listaHB;
                            aux.Id = leitor.GetGuid(leitor.GetOrdinal("RecursoId"));

                            Faculdade facul = faculDAO.GetFaculdade(leitor.GetGuid(leitor.GetOrdinal("Vinculo")));
                            aux.Vinculo = facul;

                            listaRecursos.Add(aux);
                        }
                    }
                }

                return listaRecursos;
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }
예제 #15
0
        public List<Alocacao> GetAlocacoesSemData(Calendario cal, Secretario secretario)
        {
            List<Alocacao> lista = new List<Alocacao>();

            DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByProfessorSemData");
            baseDados.AddInParameter(cmd, "@ProfessorId", DbType.Guid, secretario.Id);
            baseDados.AddInParameter(cmd, "@DataInicio", DbType.DateTime, cal.InicioG1);
            baseDados.AddInParameter(cmd, "@DataFim", DbType.DateTime, cal.FimG2);

            AulasDAO aulaDAO = new AulasDAO();
            EventoDAO eventoDAO = new EventoDAO();
            RecursosDAO recDAO = new RecursosDAO();

            using (IDataReader leitor = baseDados.ExecuteReader(cmd))
            {

                Alocacao aloc;

                while (leitor.Read())
                {
                    Aula au = null;
                    Recurso rec = null;
                    Evento evento = null;
                    DateTime dateTime = new DateTime();

                    rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                    Guid? aulaId = leitor["AulaId"] as Guid?;
                    if (aulaId.HasValue)
                        au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId")));

                    Guid? eventoId = leitor["EventoId"] as Guid?;
                    if (eventoId.HasValue)
                        evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId")));

                    string hora = (string)leitor["Hora"];

                    dateTime = (DateTime)leitor["Data"];

                    aloc = new Alocacao(rec, dateTime, hora, au, evento);

                    lista.Add(aloc);
                }
            }
            return lista;
        }
예제 #16
0
        public List<Alocacao> GetAlocacoesByData(DateTime data, Calendario cal)
        {
            List<Alocacao> lista = new List<Alocacao>();

            DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByData");
            baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data);

            AulasDAO aulaDAO = new AulasDAO();
            EventoDAO eventoDAO = new EventoDAO();
            RecursosDAO recDAO = new RecursosDAO();

            using (IDataReader leitor = baseDados.ExecuteReader(cmd))
            {
                Alocacao aloc;

                while (leitor.Read())
                {
                    Aula au = null;
                    Recurso rec = null;
                    Evento evento = null;

                    rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId")));

                    Guid? aulaId = leitor["AulaId"] as Guid?;
                    if (aulaId.HasValue)
                        au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId")));

                    Guid? eventoId = leitor["EventoId"] as Guid?;
                    if (eventoId.HasValue)
                        evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId")));

                    string hora = (string)leitor["Hora"];

                    aloc = new Alocacao(rec, data,hora,au,evento);

                    lista.Add(aloc);
                }
            }
            return lista;
        }