Exemplo n.º 1
0
        public static Agenda GetAgendaByIdPerson(int idPerson)
        {
            List <SqlParameter> parameters = new List <SqlParameter>()
            {
                new SqlParameter("@idPerson", idPerson)
            };
            SqlDataReader reader = Database.ExecuteStoredProcedure("sp_getAgendaByIdPerson", parameters);

            Agenda agenda;

            int idAgenda = 0;

            if (reader.HasRows)
            {
                if (reader.Read())
                {
                    string agendaName = reader.GetString(reader.GetOrdinal("Name"));
                    idAgenda = reader.GetInt32(reader.GetOrdinal("Agenda_Id"));
                    agenda   = new Agenda(idAgenda, agendaName);
                }
                else
                {
                    throw new Exception("Impossible to read the Agenda");
                }
            }
            else
            {
                agenda = new Agenda();
            }

            agenda.Events = DBExtractor.GetEventsByIdAgenda(idAgenda);
            return(agenda);
        }
Exemplo n.º 2
0
        public static AbstractPerson GetPersonByName(string name)
        {
            List <SqlParameter> parameters = new List <SqlParameter>()
            {
                new SqlParameter("@Name", name)
            };
            SqlDataReader  reader = Database.ExecuteStoredProcedure("sp_getPersonByName", parameters);
            AbstractPerson person;

            if (reader.HasRows)
            {
                if (reader.Read())
                {
                    string typeOfPerson;
                    typeOfPerson    = reader.GetString(reader.GetOrdinal("FunctionName"));
                    person          = PersonFactory.Create(typeOfPerson);
                    person.Name     = reader.GetString(reader.GetOrdinal("PersonName"));
                    person.IdPerson = reader.GetInt32(reader.GetOrdinal("Person_Id"));
                    person.IdAgenda = reader.GetInt32(reader.GetOrdinal("FK_Agenda_id"));
                }
                else
                {
                    throw new Exception($"No result for {name}");
                }
            }
            else
            {
                throw new Exception($"{name} match any result");
            }

            person.Agenda = DBExtractor.GetAgendaByIdPerson(person.IdPerson);

            return(person);
        }