Files
compabetoOG/Empleados/personal.cs
T

267 lines
9.9 KiB
C#

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<Empleado> 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<MenuPrincipal>().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();
}
}
private void button2_Click(object sender, EventArgs e)
{
Estadiscticas verstats = new Estadiscticas();
verstats.Show();
}
}
}