Example #1
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);
            }
        }
Example #2
0
        public List <HorariosEvento> GetHorariosEventosByIdDetalhados(Guid eventoId)
        {
            try
            {
                DbCommand cmd = baseDados.GetStoredProcCommand("HorariosEventosSelectById");
                baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, eventoId);

                List <HorariosEvento> listaAux = new List <HorariosEvento>();
                HorariosEvento        aux;

//            SqlDataReader sqlReader;
//           return listaAux;
                using (RefCountingDataReader leitor = ((RefCountingDataReader)baseDados.ExecuteReader(cmd)))
                {
                    EventoDAO eventoDAO = new EventoDAO();
                    Evento    evento;
                    while (leitor.Read())
                    {
                        if (((SqlDataReader)leitor.InnerReader).HasRows)
                        {
                            try
                            {
                                evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId")));
                            }
                            catch (InvalidOperationException)
                            {
                                evento = null;
                            }
                            aux = HorariosEvento.GetHorariosEvento(leitor.GetGuid(leitor.GetOrdinal("HorariosEventoId")),
                                                                   evento,
                                                                   leitor.GetDateTime(leitor.GetOrdinal("Data")),
                                                                   leitor.GetString(leitor.GetOrdinal("HorarioInicio")),
                                                                   leitor.GetString(leitor.GetOrdinal("HorarioFim")));
                            listaAux.Add(aux);
                        }
                    }
                }
                if (listaAux != null)
                {
                    List <HorariosEvento> listaFinal = new List <HorariosEvento>();
                    HorariosEvento        heAux      = null;
                    foreach (HorariosEvento he in listaAux)
                    {
                        // A princípio, este ajuste não é mais necessário
                        //if (he.HorarioInicio == "E ")
                        //    he.HorarioInicio = "EE";
                        //if (he.HorarioFim == "E ")
                        //    he.HorarioFim = "EE";
                        string[] lista = HorariosEvento.HorariosEntre(he.HorarioInicio, he.HorarioFim);
                        foreach (string s in lista)
                        {
                            heAux = (HorariosEvento)he.Clone();
                            heAux.HorarioInicio = s;
                            listaFinal.Add(heAux);
                        }
                    }
                    return(listaFinal);
                }
                else
                {
                    return(listaAux);
                }
            }
            catch (SqlException ex)
            {
                throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex);
            }
        }