6/20/2024

Código Practica 5

 using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using static CalculoSalario.Empleado;

using static CalculoSalario.Salario;


namespace CalculoSalario

{

    public partial class Form1 : Form

    {

        // Declarar las instancias como variables de clase

        private Empleado miEmpleado;

        private Salario miSalario;


        public Form1()

        {

            InitializeComponent();

            // Inicializar las instancias aquí

            miEmpleado = new Empleado(); //instancia de la clase Empleado

            miSalario = new Salario(); //objeto de la clase Salario

        }


        private void Form1_Load(object sender, EventArgs e)

        {

            // Las instancias ya están inicializadas en el constructor

        }


        private void btnsalir_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }


        private void btnguardar_Click(object sender, EventArgs e)

        {

            /*los valores obtenidos en los textbox son pasados a los atributos por medio de sus

           propiedades, note que mandamos a llamar a través de los objetos creados*/

            miEmpleado.Nombre = txtnombre.Text;

            miEmpleado.Identificacion = txtidentificacion.Text;

            miEmpleado.SalarioDiario = Convert.ToDecimal(txtdiario.Text);

            miSalario.DiasLaborados = int.Parse(txtdias.Text);

            MessageBox.Show("Datos ingresados con éxito");

        }


        private void btncalcular_Click(object sender, EventArgs e)

        {

            /*Enviaremos el valor de salario calculado al textbox respectivo, como es un dato

            numérico debemos convertirlo a texto, el cálculo lo hace el método de la clase salario*/

            txtsalario.Text = Convert.ToString(miSalario.CalcularSalario(miSalario.DiasLaborados,

            miEmpleado.SalarioDiario));

        }


        private void btnnuevo_Click(object sender, EventArgs e)

        {

            //limpiando todo para ingresar nuevos datos

            txtnombre.Clear();

            txtidentificacion.Clear();

            txtdias.Clear();

            txtdiario.Clear();

            txtsalario.Clear();

            txtnombre.Focus(); //regresa el cursor al textbox del nombre

        }

    }

}




CLASE 

EMPLEADO

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CalculoSalario
{
    public class Empleado //publica para que pueda ser usada en cualquier instancia del proyecto
    {
        private string nombre; //primer atributo
        public string Nombre //propiedad asociada al atributo nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        private string identificacion; //segundo atributo
        public string Identificacion //propiedad asociada al atributo identificacion
        {
            get { return identificacion; }
            set { identificacion = value; }
        }
        private decimal salarioDiario; //tercer atributo
        public decimal SalarioDiario //propiedad asociada al atributo salarioDiario
        {
            get { return salarioDiario; }
            set { salarioDiario = value; }
        }
    }
}


CLASE 
SALARIO


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CalculoSalario
{
    public class Salario //publica para que pueda ser usada en cualquier instancia del proyecto
    {
        private int diasLaborados; //atributo
        public int DiasLaborados //propiedad del atributo
        { get; set; }
        //método para calcular salario
        public decimal CalcularSalario(int diaslab, decimal valordia)
        {
            decimal totalsalario = diaslab * valordia;
            return totalsalario;
        }
    }
}



EJEMPLO 2:

Realizaremos un ejercicio para llevar una agenda de contactos.
1. Crearemos un nuevo proyecto de Windows Form, el nombre es AgendaPersonas. El
formulario lucirá como el de la imagen.


Form1

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace AgendaPersonas
{
    public partial class Form1 : Form
    {
        private List<Contacto> contactos;

        public Form1()
        {
            InitializeComponent();
            this.Load += new System.EventHandler(this.Form1_Load);
            this.dgvcontactos.DoubleClick += new System.EventHandler(this.dgvcontactos_DoubleClick);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Inicializar la lista de contactos
            contactos = new List<Contacto>();

            // Asignar la lista de contactos como fuente de datos del DataGridView
            dgvcontactos.DataSource = contactos;
        }

        private void btnguardar_Click(object sender, EventArgs e)
        {
            
                // Crear un nuevo contacto y agregarlo a la lista
                Contacto nuevoContacto = new Contacto
                {
                    Nombre = textBoxNombre.Text,
                    Apellido = textBoxApellido.Text,
                    Telefono = textBoxTelefono.Text,
                    Correo = textBoxcorreo.Text
                };

                // Verificar que todos los campos están llenos
                if (string.IsNullOrWhiteSpace(nuevoContacto.Nombre) ||
                    string.IsNullOrWhiteSpace(nuevoContacto.Apellido) ||
                    string.IsNullOrWhiteSpace(nuevoContacto.Telefono) ||
                    string.IsNullOrWhiteSpace(nuevoContacto.Correo))
                {
                    MessageBox.Show("Por favor, complete todos los campos.");
                    return;
                }

                contactos.Add(nuevoContacto);

                // Actualizar el DataGridView
                dgvcontactos.DataSource = null;
                dgvcontactos.DataSource = contactos;

                // Limpiar los campos de texto
                limpiar();
            

        }

        private void btneliminar_Click(object sender, EventArgs e)
        {
            // Verificar si hay filas seleccionadas
            if (dgvcontactos.SelectedRows.Count > 0)
            {
                // Obtener la fila seleccionada
                DataGridViewRow selectedRow = dgvcontactos.SelectedRows[0];
                Contacto contactoSeleccionado = selectedRow.DataBoundItem as Contacto;

                // Eliminar el contacto de la lista
                contactos.Remove(contactoSeleccionado);

                // Actualizar el DataGridView
                dgvcontactos.DataSource = null;
                dgvcontactos.DataSource = contactos;
            }
            else
            {
                MessageBox.Show("No hay filas seleccionadas para eliminar.");
            }
        }

        public void limpiar()
        {
            // Limpiar los campos de texto
            textBoxNombre.Text = string.Empty;
            textBoxApellido.Text = string.Empty;
            textBoxTelefono.Text = string.Empty;
            textBoxcorreo.Text = string.Empty;
        }

        private void dgvcontactos_DoubleClick(object sender, EventArgs e)
        {
            // Verificar si hay filas seleccionadas
            if (dgvcontactos.SelectedRows.Count > 0)
            {
                // Obtener la fila seleccionada
                DataGridViewRow selectedRow = dgvcontactos.SelectedRows[0];

                // Realizar las operaciones necesarias con la fila seleccionada
                string nombre = selectedRow.Cells["Nombre"].Value.ToString();
                string apellido = selectedRow.Cells["Apellido"].Value.ToString();
                string telefono = selectedRow.Cells["Telefono"].Value.ToString();
                string correo = selectedRow.Cells["Correo"].Value.ToString();

                // Mostrar los valores en los campos de texto
                textBoxNombre.Text = nombre;
                textBoxApellido.Text = apellido;
                textBoxTelefono.Text = telefono;
                textBoxcorreo.Text = correo;
            }
            else
            {
                MessageBox.Show("No hay filas seleccionadas.");
            }
        }

       
        
            private void Dgvcontactos_DoubleClick(object sender, EventArgs e)
            {
                // Verificar si hay filas seleccionadas
                if (dgvcontactos.SelectedRows.Count > 0)
                {
                    // Obtener la fila seleccionada
                    DataGridViewRow selectedRow = dgvcontactos.SelectedRows[0];

                    // Realizar las operaciones necesarias con la fila seleccionada
                    if (selectedRow != null)
                    {
                        string nombre = selectedRow.Cells["Nombre"].Value?.ToString() ?? string.Empty;
                        string apellido = selectedRow.Cells["Apellido"].Value?.ToString() ?? string.Empty;
                        string telefono = selectedRow.Cells["Telefono"].Value?.ToString() ?? string.Empty;
                        string correo = selectedRow.Cells["Correo"].Value?.ToString() ?? string.Empty;

                        // Mostrar los valores en los campos de texto
                        textBoxNombre.Text = nombre;
                        textBoxApellido.Text = apellido;
                        textBoxTelefono.Text = telefono;
                        textBoxcorreo.Text = correo;
                    }
                }
                else
                {
                    MessageBox.Show("No hay filas seleccionadas.");
                }
            }

        private void btnlimpiar_Click(object sender, EventArgs e)
        {
          
{
    // Verificar si hay filas seleccionadas
    if (dgvcontactos.SelectedRows.Count > 0)
    {
        // Obtener la fila seleccionada
        DataGridViewRow selectedRow = dgvcontactos.SelectedRows[0];
        if (selectedRow != null)
        {
            Contacto contactoSeleccionado = selectedRow.DataBoundItem as Contacto;

            // Eliminar el contacto de la lista
            if (contactoSeleccionado != null)
            {
                contactos.Remove(contactoSeleccionado);

                // Actualizar el DataGridView
                dgvcontactos.DataSource = null;
                dgvcontactos.DataSource = contactos;
            }
        }
    }
    else
    {
        MessageBox.Show("No hay filas seleccionadas para eliminar.");
    }
}

        }

        private void dgvcontactos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }
    }
    }

    public class Contacto
    {
        public string Nombre { get; set; }
        public string Apellido { get; set; }
        public string Telefono { get; set; }
        public string Correo { get; set; }
    
}



Clase CONTACTO

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AgendaPersonas
{
    internal class Contactos
    {
         //atributos
 private string nombre;
        private string apellido;
        private string telefono;
        private string correo;
        //métodos
        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        public string Apellido
        {
            get { return apellido; }
            set { apellido = value; }
        }
        public string Telefono
        {
            get { return telefono; }
            set { telefono = value; }
        }
        public string Correo
        {
            get { return correo; }
            set { correo = value; }
        }
    }

}



Glosario de Windows

Computadora:  Es un aparato electrónico, capaz de procesar cualquier tipo de información, de forma rápida y eficiente. La cual es presenta...