public Zonas Buscar(string departamento, string localidad) { SqlConnection conexion = null; SqlDataReader drZona = null; try { conexion = new SqlConnection(Conexion.CadenaConexion); SqlCommand cmdBuscarZona = new SqlCommand("BuscarZona", conexion); cmdBuscarZona.CommandType = CommandType.StoredProcedure; cmdBuscarZona.Parameters.AddWithValue("@departamento", departamento); cmdBuscarZona.Parameters.AddWithValue("@localidad", localidad); SqlParameter valorRetorno = new SqlParameter("@valorRetorno", SqlDbType.Int); valorRetorno.Direction = ParameterDirection.ReturnValue; cmdBuscarZona.Parameters.Add(valorRetorno); conexion.Open(); cmdBuscarZona.ExecuteNonQuery(); if ((int)valorRetorno.Value == -1) { throw new ExcepcionPersonalizada("Ocurrio un problema al buscar la zona."); } drZona = cmdBuscarZona.ExecuteReader(); Zonas zona = null; if (drZona.HasRows) { drZona.Read(); List <string> servicios = PersistenciaServicio.Listar(departamento, localidad); zona = new Zonas((string)drZona["Departamento"], (string)drZona["Localidad"], (string)drZona["Nombre"], (int)drZona["Habitantes"], servicios); } return(zona); } catch (ExcepcionPersonalizada ex) { throw ex; } catch (Exception ex) { throw new ExcepcionPersonalizada("Ocurrió un problema al acceder a la base de datos.", ex); } finally { if (drZona != null) { drZona.Close(); } if (conexion != null) { conexion.Close(); } } }
public List <Zonas> Listar() { SqlConnection conexion = null; SqlDataReader drZona = null; List <Zonas> zonas = new List <Zonas>(); try { conexion = new SqlConnection(Conexion.CadenaConexion); SqlCommand cmdListarZonas = new SqlCommand("ListarZonas", conexion); cmdListarZonas.CommandType = CommandType.StoredProcedure; conexion.Open(); drZona = cmdListarZonas.ExecuteReader(); Zonas zona = null; if (drZona.HasRows) { while (drZona.Read()) { List <string> servicios = PersistenciaServicio.Listar((string)drZona["Departamento"], (string)drZona["Localidad"]); zona = new Zonas((string)drZona["Departamento"], (string)drZona["Localidad"], (string)drZona["Nombre"], (int)drZona["Habitantes"], servicios); zonas.Add(zona); } } return(zonas); } catch (ExcepcionPersonalizada ex) { throw ex; } catch { throw new ExcepcionPersonalizada("Ocurrio un problema al acceder a la base de datos."); } finally { if (drZona != null) { drZona.Close(); } if (conexion != null) { conexion.Close(); } } }