コード例 #1
0
        //??
        public Personas GetAll(int tipo)
        {
            SqlConnection oCnn = this.CreateConnection();
            using (oCnn)
            {
                oCnn.Open();

                SqlCommand oCmd = new SqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oCnn;

                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "personasGetAll";

                    oCmd.Parameters.AddWithValue("@tipo_persona", tipo);

                    Personas oPersonas = new Personas();

                    try
                    {
                        SqlDataReader oReader = oCmd.ExecuteReader();
                        using (oCnn)
                        {
                            while (oReader.Read())
                            {
                                Persona oPersona = new Persona();

                                oPersona.ID = Convert.ToInt32(oReader["id_persona"]);
                                oPersona.Nombre = Convert.ToString(oReader["nombre"]);
                                oPersona.Apellido = Convert.ToString(oReader["apellido"]);
                                oPersona.Direccion = Convert.ToString(oReader["direccion"]);
                                oPersona.Email = Convert.ToString(oReader["email"]);
                                oPersona.Telefono = Convert.ToString(oReader["telefono"]);
                                oPersona.FechaNacimiento = Convert.ToDateTime(oReader["fecha_nac"]);
                                oPersona.Legajo = Convert.ToInt32(oReader["legajo"]);
                                oPersona.TipoPersona = (Persona.TiposPersonas)Convert.ToInt32(oReader["tipo_persona"]);

                                if (oPersona.TipoPersona == Persona.TiposPersonas.Alumno) //Es Alumno
                                {
                                    oPersona.IDPlan = Convert.ToInt32(oReader["id_plan"]);
                                }
                                /*
                                else    //Es Profesor
                                {
                                    oPersona.IDPlan = 0;
                                }
                                */

                                oPersonas.Add(oPersona);
                                oPersona = null;
                            }
                            return oPersonas;
                        }
                    }
                    catch (Exception Ex)
                    {
                        Exception ExcepcionManejada = new Exception("Error al recuperar lista de personas", Ex);
                        throw ExcepcionManejada;
                    }
                    finally
                    {
                        oPersonas = null;
                    }
                }
            }
        }
コード例 #2
0
        public Personas GetOnePorLegajo(int legajo)
        {
            SqlConnection oCnn = this.CreateConnection();
            using (oCnn)
            {
                oCnn.Open();

                SqlCommand oCmd = new SqlCommand();
                using (oCmd)
                {
                    oCmd.Connection = oCnn;

                    oCmd.CommandType = CommandType.StoredProcedure;
                    oCmd.CommandText = "personasGetOnePorLegajo";

                    oCmd.Parameters.AddWithValue("@legajo", legajo);

                    //Aunque debemos buscar solo un elemento, siempre devolvemos
                    //una colección. Es más fácil de manipular y controlar
                    Personas oPersonas = new Personas();

                    //No retornamos DataSets, siempre utilizamos objetos para hacernos
                    //independientes de la estructura de las tablas en el resto
                    //de las capas. Para ellos leemos con el DataReader y creamos
                    //los objetos asociados que se esperan
                    try
                    {
                        //Ejecutamos el comando y retornamos los valores
                        SqlDataReader oReader = oCmd.ExecuteReader();
                        using (oReader)
                        {
                            while (oReader.Read())
                            {
                                //si existe algun valor, creamos el objeto y lo almacenamos en la colección
                                Persona oPersona = new Persona();

                                oPersona.ID = Convert.ToInt32(oReader["id_persona"]);
                                oPersona.Nombre = Convert.ToString(oReader["nombre"]);
                                oPersona.Apellido = Convert.ToString(oReader["apellido"]);
                                oPersona.Direccion = Convert.ToString(oReader["direccion"]);
                                oPersona.Email = Convert.ToString(oReader["email"]);
                                oPersona.Telefono = Convert.ToString(oReader["telefono"]);
                                oPersona.FechaNacimiento = Convert.ToDateTime(oReader["fecha_nac"]);
                                oPersona.Legajo = Convert.ToInt32(oReader["legajo"]);
                                oPersona.TipoPersona = (Persona.TiposPersonas)Convert.ToInt32(oReader["tipo_persona"]);

                                if (oPersona.TipoPersona == 0) //Es Alumno
                                {
                                    oPersona.IDPlan = Convert.ToInt32(oReader["id_plan"]);
                                }
                                /*
                            else    //Es Profesor
                            {
                                oPersona.IDPlan = 0;
                            }
                                */
                                //Agregamos el objeto a la coleccion de resultados
                                oPersonas.Add(oPersona);

                                oPersona = null;
                            }
                            //retornamos los valores encontrados
                            return oPersonas;
                        }
                    }
                    catch (Exception Ex)
                    {
                        Exception ExcepcionManejada = new Exception("Error al recuperar legajo de la persona", Ex);
                        throw ExcepcionManejada;
                    }
                    finally
                    {
                        //liberamos la memoria utilizada por los objetos
                        oPersonas = null;
                    }
                }
            }
        }