using compabetov2.database; using compabetov2.database.modelos; using compabetov2.Empleados; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace compabetov2 { public partial class personal : Form { List empleados; private LoginModel loginPrincipal; public personal(LoginModel loginPrincipal) { InitializeComponent(); llenarPanel(); this.loginPrincipal = loginPrincipal; } public void llenarPanel() { personalPanel.Controls.Clear(); empleados = service.conseguirEmpleados(); foreach(Empleado empleado in empleados) { TableLayoutPanel empleadoLayout = new TableLayoutPanel(); empleadoLayout.RowCount = 1; empleadoLayout.ColumnCount = 2; empleadoLayout.Height = 100; empleadoLayout.Width = 900; empleadoLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); empleadoLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); empleadoLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); empleadoLayout.BorderStyle = BorderStyle.FixedSingle; TableLayoutPanel infoEmpleado = new TableLayoutPanel(); infoEmpleado.RowCount = 1; infoEmpleado.ColumnCount = 2; infoEmpleado.Dock = DockStyle.Fill; Label idEmpleado = new Label(); idEmpleado.Text = empleado.idempleado.ToString(); idEmpleado.BackColor = Color.FromArgb(82, 82, 82); idEmpleado.ForeColor = Color.White; idEmpleado.AutoSize = true; idEmpleado.Dock = DockStyle.Left; PictureBox imgEmpleado = new PictureBox(); imgEmpleado.Dock = DockStyle.Fill; string rutaImg = empleado.img.Equals("") ? Path.Combine(Application.StartupPath, "Resources", "usuarios", "usuarioAnonimo.png") : Path.Combine(Application.StartupPath, "Resources", "usuarios", empleado.img); imgEmpleado.Image = Image.FromFile(rutaImg); imgEmpleado.BackgroundImageLayout = ImageLayout.Stretch; imgEmpleado.SizeMode = PictureBoxSizeMode.Zoom; imgEmpleado.Controls.Add(idEmpleado); Label nombreEmpleado = new Label(); nombreEmpleado.Dock = DockStyle.Fill; nombreEmpleado.Text = empleado.nombre; nombreEmpleado.Font = new Font(nombreEmpleado.Font.FontFamily, 16); nombreEmpleado.TextAlign = ContentAlignment.MiddleLeft; TableLayoutPanel panelBotones = new TableLayoutPanel(); panelBotones.RowCount = 1; panelBotones.ColumnCount = 4; panelBotones.Dock = DockStyle.Fill; panelBotones.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); panelBotones.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); panelBotones.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); panelBotones.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); Button btnVer = new Button(); btnVer.Text = "Ver"; btnVer.Dock = DockStyle.Fill; btnVer.FlatStyle = FlatStyle.Flat; btnVer.FlatAppearance.BorderSize = 0; btnVer.BackColor = Color.FromArgb(33, 90, 255); btnVer.Font = new Font(btnVer.Font.FontFamily, 16); btnVer.ForeColor = Color.White; btnVer.Click += new EventHandler(delegate (object sender, EventArgs e) { string informacion = $"Nombre: {empleado.nombre} {empleado.apellidos}\nCalle: {empleado.calle}\nColonia: {empleado.colonia}\n" + $"Codigo postal: {empleado.cp}\nNumero Exterior: {empleado.no_ext}\nNumero Interior: {empleado.no_int}\nReferencia: {empleado.referencia}" + $"\nFecha de nacimiento: {empleado.fecha_nac}\nTelefono: {empleado.telefono}"; MessageBox.Show(informacion,"Informacion"); }); Button btnEditar = new Button(); btnEditar.Text = "Editar"; btnEditar.Dock = DockStyle.Fill; btnEditar.FlatStyle = FlatStyle.Flat; btnEditar.FlatAppearance.BorderSize = 0; btnEditar.BackColor = Color.FromArgb(33, 90, 255); btnEditar.Font = new Font(btnVer.Font.FontFamily, 16); btnEditar.ForeColor = Color.White; btnEditar.Click += new EventHandler(delegate (object sender, EventArgs e) { EditarEmpleado1 editarEmpleado = new EditarEmpleado1(empleado,this); editarEmpleado.Show(); }); Button btnEliminar = new Button(); btnEliminar.Text = "Eliminar"; btnEliminar.BackColor = Color.Red; btnEliminar.Dock = DockStyle.Fill; btnEliminar.FlatStyle = FlatStyle.Flat; btnEliminar.FlatAppearance.BorderSize = 0; btnEliminar.Font = new Font(btnVer.Font.FontFamily, 16); btnEliminar.ForeColor = Color.White; btnEliminar.Click += new EventHandler(delegate (object sender, EventArgs e) { DialogResult result = MessageBox.Show($"¿Está seguro de que desea eliminar a {empleado.nombre}?", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (service.eliminarEmpleado(empleado)) { llenarPanel(); } } }); Button btnLogin = new Button(); btnLogin.Text = "Login"; btnLogin.Dock = DockStyle.Fill; btnLogin.FlatStyle = FlatStyle.Flat; btnLogin.FlatAppearance.BorderSize = 0; btnLogin.Font = new Font(btnVer.Font.FontFamily, 16); if(empleado.fkIdLogin == -1) { btnLogin.Click += new EventHandler(delegate (object sender, EventArgs e) { AgregarLogin1 agregarLogin = new AgregarLogin1(this, empleado.idempleado); agregarLogin.Show(); }); } else { btnLogin.BackColor = Color.Yellow; btnLogin.Click += new EventHandler(delegate (object sender, EventArgs e) { Confirmacion pregunta = new Confirmacion(empleado,this); pregunta.Show(); }); } infoEmpleado.Controls.Add(imgEmpleado,0,0); infoEmpleado.Controls.Add(nombreEmpleado,1,0); panelBotones.Controls.Add(btnVer,0,0); panelBotones.Controls.Add(btnEditar,1,0); panelBotones.Controls.Add(btnEliminar,2,0); panelBotones.Controls.Add(btnLogin,3,0); empleadoLayout.Controls.Add(infoEmpleado,0,0); empleadoLayout.Controls.Add(panelBotones,1,0); personalPanel.Controls.Add(empleadoLayout); } } private void label1_Click(object sender, EventArgs e) { } private void button6_Click(object sender, EventArgs e) { } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void personal_Load(object sender, EventArgs e) { } private void button7_Click(object sender, EventArgs e) { } private void button8_Click(object sender, EventArgs e) { } private void lblhora_Click(object sender, EventArgs e) { } private void flowLayoutPanel3_Paint(object sender, PaintEventArgs e) { } private void btnAgregar_Click(object sender, EventArgs e) { AgregarEmpleado1 agregarEmpleado = new AgregarEmpleado1(this); agregarEmpleado.Show(); } private void button1_Click(object sender, EventArgs e) { // Cerrar el formulario de ventas this.Close(); // Verificar si ya hay una instancia del formulario principal MenuPrincipal menuprincipalForm = Application.OpenForms.OfType().FirstOrDefault(); if (menuprincipalForm == null) { // Si no hay una instancia, crear una nueva menuprincipalForm = new MenuPrincipal(loginPrincipal); // Establecer el formulario principal como el formulario MDI padre menuprincipalForm.MdiParent = this.MdiParent; // Mostrar el formulario principal menuprincipalForm.Show(); } else { // Si ya hay una instancia, simplemente llevarlo al frente menuprincipalForm.BringToFront(); } } } }