/// <summary> /// Retorna todos os Calendarios /// throws BusinessData.BusinessLogic.DataAccess.DataAccessExceptiom /// </summary> /// <returns>Lista de Calendarios</returns> public List <Calendario> GetCalendarios() { DbCommand cmd = baseDados.GetStoredProcCommand("CalendariosSelect"); Calendario aux; List <Calendario> listaAux = new List <Calendario>(); try { using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { DatasDAO datasDao = new DatasDAO(); List <Data> datas = datasDao.GetDatasByCalendario(leitor.GetGuid(leitor.GetOrdinal("CalendarioId"))); aux = Calendario.GetCalendario(leitor.GetGuid(leitor.GetOrdinal("CalendarioId")), leitor.GetInt32(leitor.GetOrdinal("Semestre")), leitor.GetInt32(leitor.GetOrdinal("Ano")), datas, leitor.GetDateTime(leitor.GetOrdinal("InicioG1")), leitor.GetDateTime(leitor.GetOrdinal("InicioG2")), leitor.GetDateTime(leitor.GetOrdinal("FimG2"))); listaAux.Add(aux); } } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } listaAux.Sort(new ComparadorCalendario()); return(listaAux); }
/// <summary> /// Retorna um calendário de acordo com ano/semestre /// throws BusinessData.BusinessLogic.DataAccess.DataAccessExceptiom /// </summary> /// <returns>Calendario</returns> public Calendario GetCalendarioByAnoSemestre(int ano, int semestre) { DbCommand cmd = baseDados.GetStoredProcCommand("CalendarioSelectByAnoAndSemestre"); baseDados.AddInParameter(cmd, "@Ano", DbType.Int32, ano); baseDados.AddInParameter(cmd, "@Semestre", DbType.Int32, semestre); Entities.Calendario aux = null; try { using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { leitor.Read(); DatasDAO datasDao = new DatasDAO(); List <Entities.Data> datas; try { datas = datasDao.GetDatasByCalendario(leitor.GetGuid(leitor.GetOrdinal("CalendarioId"))); aux = Calendario.GetCalendario(leitor.GetGuid(leitor.GetOrdinal("CalendarioId")), semestre, ano, datas, leitor.GetDateTime(leitor.GetOrdinal("InicioG1")), leitor.GetDateTime(leitor.GetOrdinal("InicioG2")), leitor.GetDateTime(leitor.GetOrdinal("FimG2"))); } catch (InvalidOperationException) { return(null); } } } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } return(aux); }