public void Eliminar(Colono col) { string sentencia; sentencia = "delete from colono where idcolono ='" + col.Idcolono + "'"; MySqlCommand commandDatabase = new MySqlCommand(sentencia, databaseConnection); try { databaseConnection.Open(); MySqlDataReader myReader = commandDatabase.ExecuteReader(); commandDatabase.CommandTimeout = 60; MessageBox.Show("Colono eliminado"); databaseConnection.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message + "," + ex.StackTrace); databaseConnection.Close(); } finally { databaseConnection.Close(); } }
public void modificarColono(Colono col) { string sentencia; sentencia = "update colono set nombre = '" + col.Nombre + "', " + " apPaterno = '" + col.ApPaterno + "' , apMaterno = '" + col.ApMaterno + "', " + " telefono = '" + col.Telefono + "', direccion = '" + col.Direccion + "', email = '" + col.Email + "'" + ", numero = '" + col.Numero + "' , propietario = '" + col.Propietario + "' ,numeroPropiedades= '" + col.NumeroPropiedades + "' where idcolono ='" + col.Idcolono + "'"; MySqlCommand commandDatabase = new MySqlCommand(sentencia, databaseConnection); try { databaseConnection.Open(); MySqlDataReader myReader = commandDatabase.ExecuteReader(); commandDatabase.CommandTimeout = 60; MessageBox.Show("Colono modificado"); databaseConnection.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message + "," + ex.StackTrace); databaseConnection.Close(); } finally { databaseConnection.Close(); } }
/// <summary> /// Carga los grupos a la colonia desde la base de datos. /// </summary> /// <returns></returns> public Colonia ObtenerColonos(Colonia catalinas) { string sql = "SELECT * FROM colonos_table"; this.comando = new SqlCommand(); this.conexion = new SqlConnection(Properties.Settings.Default.conexionDB); try { this.comando.Connection = conexion; this.comando.CommandType = System.Data.CommandType.Text; this.comando.CommandText = sql; conexion.Open(); lector = comando.ExecuteReader(); Colono c; int id; string nombre; string apellido; int dni; DateTime fechaNacimiento; string periodo; double saldo; while (lector.Read()) { id = lector.GetInt32(0); nombre = lector.GetString(1); apellido = lector.GetString(2); dni = lector.GetInt32(3); fechaNacimiento = lector.GetDateTime(4); periodo = lector.GetString(5); saldo = lector.GetDouble(6); //MODFICIAR PERIODO c = new Colono(nombre, apellido, fechaNacimiento, dni, EPeriodoInscripcion.Mes, saldo, id); if (catalinas != c) { catalinas += c; } } } catch (Exception) { throw new ErrorDeConexionException("Error en la conexion a la base de datos"); } finally { if (conexion.State == System.Data.ConnectionState.Open) { conexion.Close(); } } return(catalinas); }
/// <summary> /// Toma los datos del formulario para crear un nuevo colono. /// Valida que los campos sean correctos. /// Agrega el colono a la colonia y a la base de datos. /// Si todo es correcto establece el dialogResult en ok. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bntAceptar_Click(object sender, EventArgs e) { this.conexion = new SqlConnection(Properties.Settings.Default.conexionDB); this.nuevaConexion = new VincularDB(conexion); Colono colono = new Colono(); try { colono.Nombre = Validar.ValidarSoloLetras(this.txtBoxNombre.Text); colono.Apellido = Validar.ValidarSoloLetras(this.txtBoxApellido.Text); colono.Dni = Validar.ValidarSoloNumeros(this.txtBoxDni.Text); colono.CargarMes = (EMesIncripcion)this.cmbMes.SelectedIndex; colono.Periodo = (EPeriodoInscripcion)this.cmbPeriodo.SelectedIndex; colono.SaldoCuota = Colono.CalcularDeuda(colono.Periodo); colono.FechaNacimiento = Validar.ValidarFecha(this.txtBoxFechaNacimiento.Text); colono.Edad = (int)DateTime.Now.Year - colono.FechaNacimiento.Year; colono.EdadGrupo = colono.AsignarGrupo(colono.Edad); if (this.catalinas != colono) { if (Colono.EsValido(colono)) { if (this.nuevaConexion.ProbarConexion()) { //this.catalinas += colono; if (nuevaConexion.AgregarColono(colono)) { MessageBox.Show("Se ha agregado el colono a la base de datos!"); this.DialogResult = DialogResult.OK; this.Close(); } } else { MessageBox.Show("No se ha podido conectar a la base de datos"); this.Close(); } } else { MessageBox.Show("Uno o mas campos son incorrectos"); } } else { MessageBox.Show("Ya existe un colono con ese DNI."); } } catch (ValidacionIncorrectaException ex) { MessageBox.Show(ex.Message); } catch (NacimientoInvalidoException ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Constructor con 3 parámetros. /// Carga en el comboBox los productos disponibles que tiene la colonia para vender. /// </summary> /// <param name="colono"></param> /// <param name="catalinas"></param> /// <param name="producto"></param> public frmVenta(Colono colono, Colonia catalinas) : this() { this.colono = colono; this.catalinas = catalinas; foreach (Producto aux in catalinas.ProductosEnVenta.Listado) { this.cmbBoxSeleccionProducto.Items.Add(aux); } }
/// <summary> /// Constructor que recibe un colono. Se utiliza para modificar los datos y borrar. /// </summary> /// <param name="c"></param> public frmAltaColono(Colono c) { this.txtBoxApellido.Text = c.Apellido; this.txtBoxNombre.Text = c.Nombre; this.txtBoxDni.Text = c.Dni.ToString(); this.txtBoxFechaNacimiento.Text = c.FechaNacimiento.ToString(); this.cmbMes.SelectedItem = c.CargarMes; this.cmbPeriodo.SelectedItem = c.Periodo; }
static void Main(string[] args) { Colonia catalinas = new Colonia("Catalinas"); Colono colonoUno = new Colono("Rene", "Perez", new DateTime(2008, 10, 06), 1111, EPeriodoInscripcion.Mes); Colono colonoDos = new Colono("Juan", "Carlos", new DateTime(2007, 5, 09), 2222, EPeriodoInscripcion.Quincena); Colono colonoRepetido = new Colono("Mateo", "Uribe", new DateTime(2013, 8, 22), 2222, EPeriodoInscripcion.Semana); //Productos Gorrito g1 = new Gorrito(EColores.Amarillo, 200f, 10); Antiparra a1 = new Antiparra(EMarca.Pirulito, EColores.Rojo, 500f, 10); catalinas.ProductosEnVenta += g1; catalinas.ProductosEnVenta += a1; try { catalinas += colonoUno; catalinas += colonoDos; catalinas += colonoRepetido; } catch (Exception e) { Console.WriteLine(e.Message); } //Elimina colonoDos. catalinas -= colonoDos; //Agrega al colonoRepetido //Irá a un grupo distinto ya que sus rangos etarios no coinciden. catalinas += colonoRepetido; //Colono numero1 compra producto. //La venta achica el stock y suma deuda al saldo del colono. catalinas.RealizaVenta(catalinas, g1, colonoUno, 1); //ColonoDos Compra 5 uniades del g1 pero NO paga sus deudas- catalinas.RealizaVenta(catalinas, g1, colonoRepetido, 5); //Colono que compró paga sus deudas: Cuota+Gorrito de $200. = total $3700.- colonoUno.PagarDeudas(colonoUno, catalinas); Console.WriteLine(colonoUno.ToString() + "***************************"); Console.WriteLine(colonoRepetido.ToString() + "***************************"); Console.WriteLine("Productos en venta\n\n" + catalinas.ProductosEnVenta); Console.WriteLine(catalinas.ToString()); Console.ReadKey(); }
public void VerificaEdadCorrectaParaInscripcion() { //Arrange Colono laChiqui = new Colono("Mirtha", "Legrand", new DateTime(1927, 02, 23), 7967, EPeriodoInscripcion.Mes); //Act bool colonoValido = Colono.EsValido(laChiqui); //Assert Assert.IsFalse(colonoValido); }
public void registrarColono(Colono col) { string sentencia; sentencia = "Insert into colono(idcolono,nombre,apPaterno,apMaterno," + "telefono,direccion,numero,email,propietario,numeroPropiedades,estatus) values(" + "'" + col.Idcolono + "','" + col.Nombre + "','" + col.ApPaterno + "','" + col.ApMaterno + "'," + "'" + col.Telefono + "','" + col.Direccion + "','" + col.Numero + "','" + col.Email + "','" + col.Propietario + "'," + "'" + col.NumeroPropiedades + "','" + col.Estatus + "')"; MySqlCommand commandDatabase = new MySqlCommand(sentencia, databaseConnection); try { databaseConnection.Open(); //string SQL; //SQL = "Insert into colono(idcolono,nombre,apPaterno,apMaterno," + // "telefono,direccion,numero,email,propietario,numeroPropiedades) values(" + // "@idcolono,@nombre,@apPaterno,@apMaterno," + // "@telefono,@direccion,@numero,@email,@propietario,@numeroPropiedades)"; //cmd.Connection = Conn; //cmd.CommandText = SQL; //cmd.Parameters.AddWithValue("@idcolono", col.Idcolono); //cmd.Parameters.AddWithValue("@nombre", col.Nombre); //cmd.Parameters.AddWithValue("@apPaterno", col.ApPaterno); //cmd.Parameters.AddWithValue("@apMaterno", col.ApMaterno); //cmd.Parameters.AddWithValue("@telefono", col.Telefono); //cmd.Parameters.AddWithValue("@direccion", col.Direccion); //cmd.Parameters.AddWithValue("@numero", col.Numero); //cmd.Parameters.AddWithValue("@email", col.Email); //cmd.Parameters.AddWithValue("@propietario", col.Propietario); //cmd.Parameters.AddWithValue("@numeroPropiedades", col.Propietario); //cmd.ExecuteNonQuery(); MySqlDataReader myReader = commandDatabase.ExecuteReader(); commandDatabase.CommandTimeout = 60; MessageBox.Show("Colono dado de alta"); databaseConnection.Close(); } catch (Exception ex) { MessageBox.Show("Error:" + ex.Message); MessageBox.Show("Error:" + ex.Source); MessageBox.Show("Error:" + ex.StackTrace); } finally { //Conn.Close(); } }
/// <summary> /// Genera un nuevo formulario frmModificarColono en el que muestra los datos del colono. /// En dicho formulario permite cambiar algunos de los datos del colono. /// Valida los datos del formulario frmModificarColono. /// Si los datos son correctos vincula con la base de datos cargando los nuevos valores. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnActualizar_Click(object sender, EventArgs e) { bool modificado = false; this.vincular = new VincularDB(this.conexion); frmModificarColono modificar = new frmModificarColono(this.colono); modificar.Owner = this; modificar.StartPosition = FormStartPosition.CenterParent; if (modificar.ShowDialog() == DialogResult.OK) { try { this.colono.Nombre = Validaciones.Validar.ValidarSoloLetras(modificar.txtBoxNombre.Text); this.colono.Apellido = Validaciones.Validar.ValidarSoloLetras(modificar.txtBoxApellido.Text); this.colono.Dni = Validaciones.Validar.ValidarSoloNumeros(modificar.txtBoxDni.Text); this.colono.CargarMes = (EMesIncripcion)modificar.cmbMes.SelectedIndex; this.colono.Periodo = (EPeriodoInscripcion)modificar.cmbPeriodo.SelectedIndex; this.colono.FechaNacimiento = Validaciones.Validar.ValidarFecha(modificar.txtBoxFechaNacimiento.Text); this.colono.Edad = (int)DateTime.Today.Year - colono.FechaNacimiento.Year; this.colono.EdadGrupo = this.colono.AsignarGrupo(this.colono.Edad); if (this.colono.SinDeudas == false) { this.colono.Saldo = Colono.CalcularDeuda(this.colono.Periodo); } else { this.colono.Saldo = 0; } modificado = true; } catch (ValidacionIncorrectaException ex) { MessageBox.Show(ex.Message); } if (Colono.EsValido(this.colono) && modificado == true) { if (this.vincular.ProbarConexion()) { if (this.vincular.ModificarColono(this.colono)) { this.ActualizarTextBox(); MessageBox.Show("Se ha modificado el colono!"); } } else { MessageBox.Show("No se ha podido conectar con la base de datos!"); } } } }
public void VerificaValidacionLetras() { //Arrange Colono unColono = new Colono(); //Act unColono.Nombre = Validaciones.Validar.ValidarSoloLetras("Juan 7 Carlos"); Console.WriteLine(unColono.Nombre); //Assert Assert.IsTrue(unColono.Nombre == null); }
/// <summary> /// Inicializa un frmBuscarColono pasándole por parámetro una colonia. /// Si el DialogResult del formulario devuelve OK (si existe el colono) obtiene una instancia /// de el colono que se buscó y lo muestra mediante el formulario frmDatosPersonales. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnBuscarColono_Click(object sender, EventArgs e) { frmBuscarColono buscar = new frmBuscarColono(this.catalinas); buscar.Owner = this; buscar.StartPosition = FormStartPosition.CenterParent; if (buscar.ShowDialog() == DialogResult.OK) { int dniABuscar = buscar.dni; Colono auxiliar = this.catalinas.ObtenerDatos(this.catalinas, dniABuscar); frmDatosPersonales mostrarDatos = new frmDatosPersonales(auxiliar, this.catalinas); mostrarDatos.Show(this); } }
public void TesteoAgregar() { //Arrange Colonia catalinas = new Colonia("Catalinas"); Colono a = new Colono("Pedrito", "Alvarado", new DateTime(2011, 11, 02), 2222, EPeriodoInscripcion.Mes, 100f); //Act catalinas += a; //Verifica igualdad en algumnos. bool retorno = catalinas == a; //Assert Assert.IsTrue(retorno); }
/// <summary> /// Inicializa un frmBuscarColono pasándole por parámetro una colonia. /// Si el DialogResult del formulario devuelve OK (si existe el colono) obtiene una instancia /// de el colono que se buscó y lo muestra mediante el formulario frmDatosPersonales. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnBuscarColono_Click(object sender, EventArgs e) { frmBuscarColono buscar = new frmBuscarColono(this.catalinas); //Actualiza la colonia con los últimos valores de la base de datos. this.catalinas = this.ActualizarColonia(); buscar.StartPosition = FormStartPosition.CenterScreen; if (buscar.ShowDialog() == DialogResult.OK) { int dniABuscar = buscar.dni; Colono auxiliar = this.catalinas.ObtenerDatos(this.catalinas, dniABuscar); frmDatosPersonales mostrarDatos = new frmDatosPersonales(auxiliar, this.catalinas); mostrarDatos.StartPosition = FormStartPosition.CenterScreen; mostrarDatos.ShowDialog(); } }
/// <summary> /// Modifica un colono de la base de datos. /// </summary> /// <param name="colono"></param> /// <returns></returns> public bool ModificarColono(Colono colono) { bool retorno = false; string sql = "UPDATE colonos SET nombre=@nombre, apellido=@apellido," + " dni=@dni, fechaNacimiento=@fechaNacimiento, periodo=@periodo, saldoCuota=@saldoCuota, saldoProductos=@saldoProductos WHERE id=@id"; try { this.comando = new SqlCommand(); this.comando.CommandType = System.Data.CommandType.Text; this.comando.Connection = conexion; this.comando.Parameters.AddWithValue("@id", colono.Id); this.comando.Parameters.AddWithValue("@nombre", colono.Nombre); this.comando.Parameters.AddWithValue("@apellido", colono.Apellido); this.comando.Parameters.AddWithValue("@dni", colono.Dni); this.comando.Parameters.AddWithValue("@fechaNacimiento", colono.FechaNacimiento); this.comando.Parameters.AddWithValue("@periodo", colono.Periodo); this.comando.Parameters.AddWithValue("@saldoCuota", colono.SaldoCuota); this.comando.Parameters.AddWithValue("@saldoProductos", colono.SaldoProductos); this.comando.CommandText = sql; conexion.Open(); int filasAfectadas = comando.ExecuteNonQuery(); if (filasAfectadas > 0) { retorno = true; Console.WriteLine("Se ha actualizado la base de datos"); } } catch (Exception e) { retorno = false; throw e; } finally { if (conexion.State == System.Data.ConnectionState.Open) { conexion.Close(); } } return(retorno); }
public void VerificaAlumnoRepetido() { //Arrange bool alumnosRepetidos = false; Colonia catalinas = new Colonia("Catalinas"); Colono a = new Colono("Juan", "Perez", new DateTime(2015, 11, 05), 1111, EPeriodoInscripcion.Quincena); Colono b = new Colono("Pedro", "Rodriguez", new DateTime(2017, 10, 06), 1111, EPeriodoInscripcion.Mes); //Act catalinas += a; catalinas += b; alumnosRepetidos = a == b; //Assert Assert.IsTrue(alumnosRepetidos); }
/// <summary> /// Actualiza los textBox validando que el dni ingresado sea mayor que cero. /// </summary> /// <returns></returns> private bool ActualizarTextBox(Colono colono) { bool retorno = false; if (colono.Dni > 0) { this.txtBoxNombre.Text = colono.Nombre; this.txtBoxApellido.Text = colono.Apellido; this.txtBoxDni.Text = colono.Dni.ToString(); this.txtBoxEdad.Text = colono.Edad.ToString(); this.txtBoxDeuda.Text = (colono.SaldoCuota + colono.SaldoProductos).ToString(); this.txtBoxFechaNacimiento.Text = colono.FechaNacimiento.ToShortDateString(); this.txtBoxGrupo.Text = colono.EdadGrupo.ToString(); this.txtBoxMes.Text = colono.CargarMes.ToString(); retorno = true; } return(retorno); }
/// <summary> /// Agrega un colono a la base de datos. /// </summary> /// <param name="colono"></param> /// <returns></returns> public bool AgregarColono(Colono colono) { bool retorno = false; string sql = "INSERT INTO colonos(nombre, apellido, dni, fechaNacimiento, periodo, saldoCuota,saldoProductos) "; sql += "VALUES (@nombre,@apellido,@dni,@fechaNacimiento,@periodo,@saldoCuota,@saldoProductos)"; try { this.comando = new SqlCommand(); this.comando.CommandType = System.Data.CommandType.Text; this.comando.Connection = conexion; this.comando.Parameters.AddWithValue("@nombre", colono.Nombre); this.comando.Parameters.AddWithValue("@apellido", colono.Apellido); this.comando.Parameters.AddWithValue("@dni", colono.Dni); this.comando.Parameters.AddWithValue("@fechaNacimiento", colono.FechaNacimiento); this.comando.Parameters.AddWithValue("@periodo", colono.Periodo); this.comando.Parameters.AddWithValue("@saldoCuota", colono.SaldoCuota); this.comando.Parameters.AddWithValue("@saldoProductos", colono.SaldoProductos); this.comando.CommandText = sql; conexion.Open(); int filasAfectadas = comando.ExecuteNonQuery(); if (filasAfectadas > 0) { retorno = true; } } catch (Exception e) { retorno = false; throw e; } finally { if (conexion.State == System.Data.ConnectionState.Open) { conexion.Close(); } } return(retorno); }
/// <summary> /// Elimina un colono de la base de datos según su DNI. /// </summary> /// <param name="colono"></param> /// <returns></returns> public bool EliminarColono(Colono colono) { bool retorno = false; string sql = "DELETE FROM colonos_table WHERE dni=@dni"; try { this.comando = new SqlCommand(); this.comando.CommandType = System.Data.CommandType.Text; this.comando.Connection = conexion; this.comando.Parameters.AddWithValue("@dni", colono.Dni); this.comando.CommandText = sql; conexion.Open(); int filasAfectadas = comando.ExecuteNonQuery(); if (filasAfectadas > 0) { retorno = true; Console.WriteLine("Se ha eliminado de la base de datos"); } } catch (Exception e) { retorno = false; throw e; } finally { if (conexion.State == System.Data.ConnectionState.Open) { conexion.Close(); } } return(retorno); }
/// <summary> /// Constructor con un parámetro que recibe un colono. /// </summary> /// <param name="c"></param> public frmModificarColono(Colono c) : this() { this.colono = c; }
/// <summary> /// Genera un nuevo formulario frmModificarColono en el que muestra los datos del colono. /// En dicho formulario permite cambiar algunos de los datos del colono. /// Valida los datos del formulario frmModificarColono. /// Si los datos son correctos vincula con la base de datos cargando los nuevos valores. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnActualizar_Click(object sender, EventArgs e) { Colono auxiliar = new Colono(); this.vincular = new VincularDB(this.conexion); //Actualiza la instancia de colonia con ultimos datos de la base de datos. this.catalinas = this.EventoActualizacion(); frmModificarColono modificar = new frmModificarColono(this.colono); modificar.StartPosition = FormStartPosition.CenterScreen; if (modificar.ShowDialog() == DialogResult.OK) { try { auxiliar.Id = this.colono.Id; auxiliar.Nombre = Validaciones.Validar.ValidarSoloLetras(modificar.txtBoxNombre.Text); auxiliar.Apellido = Validaciones.Validar.ValidarSoloLetras(modificar.txtBoxApellido.Text); auxiliar.Dni = Validaciones.Validar.ValidarSoloNumeros(modificar.txtBoxDni.Text); auxiliar.CargarMes = (EMesIncripcion)modificar.cmbMes.SelectedIndex; auxiliar.Periodo = (EPeriodoInscripcion)modificar.cmbPeriodo.SelectedIndex; auxiliar.FechaNacimiento = Validaciones.Validar.ValidarFecha(modificar.txtBoxFechaNacimiento.Text); auxiliar.Edad = (int)DateTime.Today.Year - auxiliar.FechaNacimiento.Year; auxiliar.EdadGrupo = auxiliar.AsignarGrupo(auxiliar.Edad); auxiliar.SaldoProductos = this.colono.SaldoProductos; if (this.colono.SaldoCuota != 0) { auxiliar.SaldoCuota = Colono.CalcularDeuda(auxiliar.Periodo); } if (Colono.EsValido(auxiliar)) { //Eliminar al colono anterior. //this.catalinas -= this.colono; //Agregar al colono modificado //this.catalinas += auxiliar; if (this.vincular.ProbarConexion()) { if (this.vincular.ModificarColono(auxiliar)) { this.ActualizarTextBox(auxiliar); MessageBox.Show("Se ha modificado el colono!"); } } else { MessageBox.Show("No se ha podido conectar con la base de datos!"); } } } catch (ValidacionIncorrectaException ex) { MessageBox.Show(ex.Message); } catch (NacimientoInvalidoException exe) { MessageBox.Show(exe.Message); } } }
/// <summary> /// Constructor que recibe un colono y una colonia. /// </summary> /// <param name="colono"></param> /// <param name="catalinas"></param> public frmDatosPersonales(Colono colono, Colonia catalinas) : this() { this.catalinas = catalinas; this.colono = colono; }