コード例 #1
0
        /// <summary>
        /// Pagar saldo aumentará el saldo a favor de la colonia según el saldo deudor que tenga un colono.
        /// El saldo del colono bajará a cero y no tendrá más deudas.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnPagarSaldo_Click(object sender, EventArgs e)
        {
            this.vincular = new VincularDB(this.conexion);
            double saldo = this.colono.SaldoCuota + this.colono.SaldoProductos;

            this.colono.SinDeudas = true;
            if (saldo > 0)
            {
                DialogResult resultado = MessageBox.Show("¿Desea pagar $" + saldo + "?", "Saldar deuda", MessageBoxButtons.YesNo);
                if (resultado == DialogResult.Yes)
                {
                    if (this.vincular.ProbarConexion())
                    {
                        this.colono.PagarDeudas(this.colono, this.catalinas);
                        if (this.vincular.ModificarColono(this.colono))
                        {
                            this.ActualizarTextBox(this.colono);
                            MessageBox.Show("El colono ya no tiene deudas!!");
                        }
                        else
                        {
                            MessageBox.Show("No se ha podido procesar el pago");
                        }
                    }
                    else
                    {
                        MessageBox.Show("No se ha podido conectar a la base de datos");
                    }
                }
            }
            else
            {
                MessageBox.Show("El colono no tiene deudas. Impecable");
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        /// <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!");
                    }
                }
            }
        }
コード例 #4
0
        public Colonia ActualizarColonia()
        {
            this.vincular = new VincularDB(this.conexion);
            Colonia auxiliar = new Colonia();

            if (this.vincular.ProbarConexion())
            {
                auxiliar = this.vincular.ObtenerColonos(this.catalinas);
            }
            else
            {
                MessageBox.Show("No se ha podido conectar a la base de datos");
            }

            return(auxiliar);
        }
コード例 #5
0
        /// <summary>
        /// Inicializa hilo cambia color del formulario principal
        /// Inicializa un nuevo vínculo con la bae de datos, pasándole como parámetro un SqlConnection
        /// Obtiene los colonos de la base de datos, cargándolos en la colonia de la clase.
        /// Obtiene el saldo actual de la colonia desde un archivo.
        /// Hardcodea una lista de productos.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmPrincipal_Load(object sender, EventArgs e)
        {
            hiloInicial = new Thread(new ThreadStart(this.Comenzando));
            hiloInicial.Start();
            this.nuevoVinculo = new VincularDB(this.conexion);

            if (this.nuevoVinculo.ProbarConexion())
            {
                this.catalinas = this.nuevoVinculo.ObtenerColonos(this.catalinas);
            }

            else
            {
                MessageBox.Show("No se ha podido conectar a la base de datos");
            }

            this.catalinas.SaldoActual = Colonia.ObtenerSaldo();
            this.HardcodeoProductos();
            this.Text = "COLONIA CATALINAS SUR";
        }
コード例 #6
0
        /// <summary>
        /// Llama al método realizarVenta que se encarga de manipular el stock, la cantidad de
        /// productos disponibles para vender, modificar los valores del saldo de la colonia y
        /// la deuda del colono.
        /// Al realizar la venta actualiza los posibles productos a vender que se muestran en el comboBox.
        /// Lanza evento que controla el stock.
        /// Establece  el DialogResult en OK.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            this.conexion      = new SqlConnection(Properties.Settings.Default.conexionDB);
            this.nuevaConexion = new VincularDB(conexion);

            if (this.catalinas.ProductosEnVenta.Listado.Count > 0)
            {
                if (this.nuevaConexion.ProbarConexion())
                {
                    int cantidad = int.Parse(this.cmbCantidadProducto.SelectedItem.ToString());
                    this.catalinas.RealizaVenta(this.catalinas, this.producto, this.colono, cantidad);

                    //modifica el colono en la base de datos(saldo).
                    this.nuevaConexion.ModificarColono(this.colono);
                    //Actualizar valores
                    this.cmbBoxSeleccionProducto.Items.Clear();
                    foreach (Producto aux in catalinas.ProductosEnVenta.Listado)
                    {
                        this.cmbBoxSeleccionProducto.Items.Add(aux);
                    }
                    MessageBox.Show("Venta realizada con exito!");
                    MessageBox.Show(colono.ToString());

                    //Lanzar el evento que controla el stock.
                    string existencia = this.EventoStock(this.producto);
                    MessageBox.Show(existencia);

                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("No se ha podido conectar a la base de datos");
                }
            }
            else
            {
                MessageBox.Show("No hay productos para vender!");
            }
        }
コード例 #7
0
        /// <summary>
        /// Realiza vínculo con la base de datos y elimina el registro de la misma previa
        /// validacion con pregunta a confirmar.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBorrar_Click(object sender, EventArgs e)
        {
            this.vincular = new VincularDB(this.conexion);
            DialogResult resultado = MessageBox.Show("¿Realmente desea eliminar?", "Borrar alumno", MessageBoxButtons.YesNo);

            if (resultado == DialogResult.Yes)
            {
                if (this.vincular.ProbarConexion())
                {
                    //Elimina al colono de la instancia actual.
                    this.catalinas -= this.colono;
                    //Elimiina de la base de datos.
                    if (this.vincular.EliminarColono(this.colono))
                    {
                        MessageBox.Show("Se ha eliminado el colono");
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("No se ha podido conectar a la base de datos");
                }
            }
        }
コード例 #8
0
        /// <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);
                }
            }
        }