public static List<Ciudad> ObtenerTodasPorParametro(CiudadFiltros filtros) { //Obtengo la lista de ciudades que cumplen ciertos filtros (busqueda exacta) var param = new List<SPParameter> { new SPParameter("Nombre", filtros.Nombre ?? (object)DBNull.Value) }; var sp = new StoreProcedure(DBQueries.Ciudad.SPObtenerCiudadesPorParametros, param); return sp.ExecuteReader<Ciudad>(); }
private void LblGrabar_Click(object sender, EventArgs e) { try { #region Validaciones var excepcion = string.Empty; if (ValidadorDeTipos.IsEmpty(TxtNombreCiudad.Text)) excepcion = "El nombre ingresado no puede ser vacío."; if (!ValidadorDeTipos.IsEmpty(excepcion)) throw new Exception(excepcion); #endregion if (modoInsertar) { var filters = new CiudadFiltros { Nombre = TxtNombreCiudad.Text }; //Valido que no exista una ciudad con la descripcion informada if (CiudadPersistencia.ObtenerTodasPorParametro(filters).Count > 0) { throw new Exception("Ya existe una ciudad con la descripcion informada."); } #region Inserto la nueva ciudad var ciudadNueva = new Ciudad(); ciudadNueva.Nombre = TxtNombreCiudad.Text; var dialogAnswer = MessageBox.Show("Esta seguro que quiere insertar la nueva ciudad?", "Atencion", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { if (CiudadPersistencia.InsertarCiudad(ciudadNueva) == 1) { MessageBox.Show("Se inserto satisfactoriamente la nueva Ciudad", "Atencion"); TxtNombreCiudad.Text = string.Empty; accionTerminada = true; Close(); } } #endregion } else { #region Modifico una ciudad existente ciudadAModificar.Nombre = TxtNombreCiudad.Text; var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere modificar la ciudad {0}?", ciudadAModificar.Nombre), "Atencion", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { //Modifico exitosamente si la cantidad de registros afectados es 1 if (CiudadPersistencia.ActualizarCiudad(ciudadAModificar) == 1) { MessageBox.Show("Se modifico satisfactoriamente la ciudad", "Atencion"); TxtNombreCiudad.Text = string.Empty; accionTerminada = true; Close(); } } #endregion } } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); } }
private void LblBuscar_Click(object sender, EventArgs e) { try { #region Validations var filtros = false; var exceptionMessage = string.Empty; if (!ValidadorDeTipos.IsEmpty(TxtNombre.Text)) filtros = true; if (!filtros) exceptionMessage = "No se puede realizar la busqueda ya que no se informó ningún filtro"; if (!ValidadorDeTipos.IsEmpty(exceptionMessage)) throw new Exception(exceptionMessage); #endregion //Armo el objeto que representa a los filtros a partir de los valores de los controles var filtro = new CiudadFiltros { Nombre = (!ValidadorDeTipos.IsEmpty(TxtNombre.Text)) ? TxtNombre.Text : null, }; var ciudades = new List<Ciudad>(); if (ChkBusqueda.Checked) ciudades = CiudadPersistencia.ObtenerTodasPorParametro(filtro); else ciudades = CiudadPersistencia.ObtenerTodosPorParametroComo(filtro); if (ciudades == null || ciudades.Count == 0) { LimpiarFiltros(); ActualizarPantalla(null); throw new Exception("No se encontraron ciudades según los filtros informados."); } //Cargo la grilla a partir de los registros obtenidos en la busqueda ActualizarPantalla(ciudades); } catch (Exception ex) { MessageBox.Show(ex.Message, "Atención"); } }