diff --git a/.vs/compabetov2.csproj.dtbcache.json b/.vs/compabetov2.csproj.dtbcache.json
index 8d8fe80..9617e83 100644
--- a/.vs/compabetov2.csproj.dtbcache.json
+++ b/.vs/compabetov2.csproj.dtbcache.json
@@ -1 +1 @@
-{"RootPath":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG","ProjectFileName":"compabetov2.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"admin\\crud.cs"},{"SourceFile":"admin\\crud.Designer.cs"},{"SourceFile":"admin\\editar.cs"},{"SourceFile":"admin\\editar.Designer.cs"},{"SourceFile":"database\\modelos\\DetalleEnvioModel.cs"},{"SourceFile":"database\\modelos\\DetalleImporte.cs"},{"SourceFile":"database\\modelos\\DetalleImporteCuenta.cs"},{"SourceFile":"database\\modelos\\DetalleImporteEnvio.cs"},{"SourceFile":"database\\modelos\\Envio.cs"},{"SourceFile":"database\\modelos\\ImporteModel.cs"},{"SourceFile":"database\\modelos\\Variante.cs"},{"SourceFile":"Empleados\\AgregarEmpleado1.cs"},{"SourceFile":"Empleados\\AgregarEmpleado1.Designer.cs"},{"SourceFile":"Empleados\\AgregarLogin1.cs"},{"SourceFile":"Empleados\\AgregarLogin1.Designer.cs"},{"SourceFile":"Empleados\\EditarEmpleado1.cs"},{"SourceFile":"Empleados\\EditarEmpleado1.Designer.cs"},{"SourceFile":"Estadiscticas.cs"},{"SourceFile":"Estadiscticas.Designer.cs"},{"SourceFile":"Merma\\ActualizarMerma.cs"},{"SourceFile":"Merma\\ActualizarMerma.Designer.cs"},{"SourceFile":"Empleados\\AgregarEmpleado.cs"},{"SourceFile":"Empleados\\AgregarEmpleado.Designer.cs"},{"SourceFile":"Empleados\\AgregarLogin.cs"},{"SourceFile":"Empleados\\AgregarLogin.Designer.cs"},{"SourceFile":"Merma\\agregarmermas.cs"},{"SourceFile":"Merma\\agregarmermas.Designer.cs"},{"SourceFile":"Cuentas\\cuentas.cs"},{"SourceFile":"Cuentas\\cuentas.Designer.cs"},{"SourceFile":"database\\conexion.cs"},{"SourceFile":"database\\DAO.cs"},{"SourceFile":"database\\modelos\\Categoria.cs"},{"SourceFile":"database\\modelos\\Cliente.cs"},{"SourceFile":"database\\modelos\\Cuenta.cs"},{"SourceFile":"database\\modelos\\DetalleCuentaModel.cs"},{"SourceFile":"database\\modelos\\DetalleVentaModel.cs"},{"SourceFile":"database\\modelos\\Empleado.cs"},{"SourceFile":"database\\modelos\\LoginModel.cs"},{"SourceFile":"database\\modelos\\Merma.cs"},{"SourceFile":"database\\modelos\\Producto.cs"},{"SourceFile":"database\\modelos\\usuario.cs"},{"SourceFile":"database\\modelos\\VentaModel.cs"},{"SourceFile":"database\\service.cs"},{"SourceFile":"Empleados\\EditarEmpleado.cs"},{"SourceFile":"Empleados\\EditarEmpleado.Designer.cs"},{"SourceFile":"Envios\\envios.cs"},{"SourceFile":"Envios\\envios.Designer.cs"},{"SourceFile":"Inventario\\inventario.cs"},{"SourceFile":"Inventario\\inventario.Designer.cs"},{"SourceFile":"Principal\\login.cs"},{"SourceFile":"Principal\\login.Designer.cs"},{"SourceFile":"Principal\\MenuPrincipal.cs"},{"SourceFile":"Principal\\MenuPrincipal.Designer.cs"},{"SourceFile":"Merma\\mermas.cs"},{"SourceFile":"Merma\\mermas.Designer.cs"},{"SourceFile":"Empleados\\ModificarContra.cs"},{"SourceFile":"Empleados\\ModificarContra.Designer.cs"},{"SourceFile":"Empleados\\personal.cs"},{"SourceFile":"Empleados\\personal.Designer.cs"},{"SourceFile":"Empleados\\preguntaLogin.cs"},{"SourceFile":"Empleados\\preguntaLogin.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"SqlServerTypes\\Loader.cs"},{"SourceFile":"Ventas\\datosCuenta.cs"},{"SourceFile":"Ventas\\datosCuenta.Designer.cs"},{"SourceFile":"Ventas\\datosEnvio.cs"},{"SourceFile":"Ventas\\datosEnvio.Designer.cs"},{"SourceFile":"Ventas\\Importe.cs"},{"SourceFile":"Ventas\\Importe.Designer.cs"},{"SourceFile":"Ventas\\Importe1.cs"},{"SourceFile":"Ventas\\Importe1.Designer.cs"},{"SourceFile":"Ventas\\vender.cs"},{"SourceFile":"Ventas\\vender.Designer.cs"},{"SourceFile":"Merma\\verMerma.cs"},{"SourceFile":"Merma\\verMerma.Designer.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\packages\\EntityFramework.6.4.4\\lib\\net45\\EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\packages\\EntityFramework.6.4.4\\lib\\net45\\EntityFramework.SqlServer.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\packages\\Microsoft.SqlServer.Types.14.0.314.76\\lib\\net40\\Microsoft.SqlServer.Types.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\packages\\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\\lib\\net46\\System.Data.SQLite.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\packages\\System.Data.SQLite.EF6.1.0.118.0\\lib\\net46\\System.Data.SQLite.EF6.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\packages\\System.Data.SQLite.Linq.1.0.118.0\\lib\\net46\\System.Data.SQLite.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\bin\\Debug\\compabetov2.exe","OutputItemRelativePath":"compabetov2.exe"},{"OutputItemFullPath":"C:\\Users\\Googl\\Source\\Repos\\aspermaster23yeh\\compabetoOG\\bin\\Debug\\compabetov2.pdb","OutputItemRelativePath":"compabetov2.pdb"}],"CopyToOutputEntries":[]}
\ No newline at end of file
+{"RootPath":"C:\\Users\\carsu\\source\\repos\\compabetoOG","ProjectFileName":"compabetov2.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"admin\\crud.cs"},{"SourceFile":"admin\\crud.Designer.cs"},{"SourceFile":"admin\\editar.cs"},{"SourceFile":"admin\\editar.Designer.cs"},{"SourceFile":"database\\modelos\\DetalleEnvioModel.cs"},{"SourceFile":"database\\modelos\\DetalleImporte.cs"},{"SourceFile":"database\\modelos\\DetalleImporteCuenta.cs"},{"SourceFile":"database\\modelos\\DetalleImporteEnvio.cs"},{"SourceFile":"database\\modelos\\Envio.cs"},{"SourceFile":"database\\modelos\\ImporteModel.cs"},{"SourceFile":"database\\modelos\\Variante.cs"},{"SourceFile":"Empleados\\AgregarEmpleado1.cs"},{"SourceFile":"Empleados\\AgregarEmpleado1.Designer.cs"},{"SourceFile":"Empleados\\AgregarLogin1.cs"},{"SourceFile":"Empleados\\AgregarLogin1.Designer.cs"},{"SourceFile":"Empleados\\EditarEmpleado1.cs"},{"SourceFile":"Empleados\\EditarEmpleado1.Designer.cs"},{"SourceFile":"Estadiscticas.cs"},{"SourceFile":"Estadiscticas.Designer.cs"},{"SourceFile":"Merma\\ActualizarMerma.cs"},{"SourceFile":"Merma\\ActualizarMerma.Designer.cs"},{"SourceFile":"Empleados\\AgregarEmpleado.cs"},{"SourceFile":"Empleados\\AgregarEmpleado.Designer.cs"},{"SourceFile":"Empleados\\AgregarLogin.cs"},{"SourceFile":"Empleados\\AgregarLogin.Designer.cs"},{"SourceFile":"Merma\\agregarmermas.cs"},{"SourceFile":"Merma\\agregarmermas.Designer.cs"},{"SourceFile":"Cuentas\\cuentas.cs"},{"SourceFile":"Cuentas\\cuentas.Designer.cs"},{"SourceFile":"database\\conexion.cs"},{"SourceFile":"database\\DAO.cs"},{"SourceFile":"database\\modelos\\Categoria.cs"},{"SourceFile":"database\\modelos\\Cliente.cs"},{"SourceFile":"database\\modelos\\Cuenta.cs"},{"SourceFile":"database\\modelos\\DetalleCuentaModel.cs"},{"SourceFile":"database\\modelos\\DetalleVentaModel.cs"},{"SourceFile":"database\\modelos\\Empleado.cs"},{"SourceFile":"database\\modelos\\LoginModel.cs"},{"SourceFile":"database\\modelos\\Merma.cs"},{"SourceFile":"database\\modelos\\Producto.cs"},{"SourceFile":"database\\modelos\\usuario.cs"},{"SourceFile":"database\\modelos\\VentaModel.cs"},{"SourceFile":"database\\service.cs"},{"SourceFile":"Empleados\\EditarEmpleado.cs"},{"SourceFile":"Empleados\\EditarEmpleado.Designer.cs"},{"SourceFile":"Envios\\envios.cs"},{"SourceFile":"Envios\\envios.Designer.cs"},{"SourceFile":"Inventario\\inventario.cs"},{"SourceFile":"Inventario\\inventario.Designer.cs"},{"SourceFile":"Principal\\login.cs"},{"SourceFile":"Principal\\login.Designer.cs"},{"SourceFile":"Principal\\MenuPrincipal.cs"},{"SourceFile":"Principal\\MenuPrincipal.Designer.cs"},{"SourceFile":"Merma\\mermas.cs"},{"SourceFile":"Merma\\mermas.Designer.cs"},{"SourceFile":"Empleados\\ModificarContra.cs"},{"SourceFile":"Empleados\\ModificarContra.Designer.cs"},{"SourceFile":"Empleados\\personal.cs"},{"SourceFile":"Empleados\\personal.Designer.cs"},{"SourceFile":"Empleados\\preguntaLogin.cs"},{"SourceFile":"Empleados\\preguntaLogin.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"SqlServerTypes\\Loader.cs"},{"SourceFile":"Ventas\\datosCuenta.cs"},{"SourceFile":"Ventas\\datosCuenta.Designer.cs"},{"SourceFile":"Ventas\\datosEnvio.cs"},{"SourceFile":"Ventas\\datosEnvio.Designer.cs"},{"SourceFile":"Ventas\\Importe.cs"},{"SourceFile":"Ventas\\Importe.Designer.cs"},{"SourceFile":"Ventas\\Importe1.cs"},{"SourceFile":"Ventas\\Importe1.Designer.cs"},{"SourceFile":"Ventas\\vender.cs"},{"SourceFile":"Ventas\\vender.Designer.cs"},{"SourceFile":"Merma\\verMerma.cs"},{"SourceFile":"Merma\\verMerma.Designer.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\packages\\EntityFramework.6.4.4\\lib\\net45\\EntityFramework.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\packages\\EntityFramework.6.4.4\\lib\\net45\\EntityFramework.SqlServer.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\packages\\Microsoft.SqlServer.Types.14.0.314.76\\lib\\net40\\Microsoft.SqlServer.Types.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.ComponentModel.DataAnnotations.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\packages\\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\\lib\\net46\\System.Data.SQLite.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\packages\\System.Data.SQLite.EF6.1.0.118.0\\lib\\net46\\System.Data.SQLite.EF6.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\packages\\System.Data.SQLite.Linq.1.0.118.0\\lib\\net46\\System.Data.SQLite.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\bin\\Debug\\compabetov2.exe","OutputItemRelativePath":"compabetov2.exe"},{"OutputItemFullPath":"C:\\Users\\carsu\\source\\repos\\compabetoOG\\bin\\Debug\\compabetov2.pdb","OutputItemRelativePath":"compabetov2.pdb"}],"CopyToOutputEntries":[]}
\ No newline at end of file
diff --git a/admin/Variantes.Designer.cs b/admin/Variantes.Designer.cs
new file mode 100644
index 0000000..90413f3
--- /dev/null
+++ b/admin/Variantes.Designer.cs
@@ -0,0 +1,47 @@
+namespace compabetov2.admin
+{
+ partial class Variantes
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.SuspendLayout();
+ //
+ // Variantes
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(800, 697);
+ this.Name = "Variantes";
+ this.Text = "Variantes";
+ this.Load += new System.EventHandler(this.Variantes_Load);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/admin/Variantes.cs b/admin/Variantes.cs
new file mode 100644
index 0000000..3fba69e
--- /dev/null
+++ b/admin/Variantes.cs
@@ -0,0 +1,28 @@
+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;
+
+namespace compabetov2.admin
+{
+ public partial class Variantes : Form
+ {
+ private crud ventanaPadre;
+ public Variantes(crud ventanaPadre)
+ {
+ this.ventanaPadre = ventanaPadre;
+ InitializeComponent();
+
+ }
+
+ private void Variantes_Load(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/admin/Variantes.resx b/admin/Variantes.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/admin/Variantes.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/admin/agregarproducto.Designer.cs b/admin/agregarproducto.Designer.cs
index ceee01a..b591a51 100644
--- a/admin/agregarproducto.Designer.cs
+++ b/admin/agregarproducto.Designer.cs
@@ -28,7 +28,7 @@
///
private void InitializeComponent()
{
- this.button1 = new System.Windows.Forms.Button();
+ this.btnSubir = new System.Windows.Forms.Button();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.lbImg = new System.Windows.Forms.Label();
@@ -40,16 +40,17 @@
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
- // button1
+ // btnSubir
//
- this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.button1.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
- this.button1.Location = new System.Drawing.Point(243, 312);
- this.button1.Name = "button1";
- this.button1.Size = new System.Drawing.Size(103, 46);
- this.button1.TabIndex = 38;
- this.button1.Text = "Subir";
- this.button1.UseVisualStyleBackColor = true;
+ this.btnSubir.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.btnSubir.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
+ this.btnSubir.Location = new System.Drawing.Point(243, 312);
+ this.btnSubir.Name = "btnSubir";
+ this.btnSubir.Size = new System.Drawing.Size(103, 46);
+ this.btnSubir.TabIndex = 38;
+ this.btnSubir.Text = "Subir";
+ this.btnSubir.UseVisualStyleBackColor = true;
+ this.btnSubir.Click += new System.EventHandler(this.button1_Click);
//
// pictureBox2
//
@@ -61,6 +62,7 @@
this.pictureBox2.Size = new System.Drawing.Size(100, 69);
this.pictureBox2.TabIndex = 37;
this.pictureBox2.TabStop = false;
+ this.pictureBox2.Click += new System.EventHandler(this.pictureBox2_Click);
//
// pictureBox1
//
@@ -72,6 +74,7 @@
this.pictureBox1.Size = new System.Drawing.Size(100, 69);
this.pictureBox1.TabIndex = 36;
this.pictureBox1.TabStop = false;
+ this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
// lbImg
//
@@ -139,7 +142,7 @@
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize = new System.Drawing.Size(897, 575);
this.ControlBox = false;
- this.Controls.Add(this.button1);
+ this.Controls.Add(this.btnSubir);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.lbImg);
@@ -161,7 +164,7 @@
#endregion
- private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Button btnSubir;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label lbImg;
diff --git a/admin/agregarproducto.cs b/admin/agregarproducto.cs
index 8f66428..b88f5ce 100644
--- a/admin/agregarproducto.cs
+++ b/admin/agregarproducto.cs
@@ -1,8 +1,11 @@
-using System;
+using compabetov2.database;
+using compabetov2.database.modelos;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -12,9 +15,61 @@ namespace compabetov2.admin
{
public partial class agregarproducto : Form
{
- public agregarproducto()
+ private crud ventanaPadre;
+ private string imagePath;
+ public agregarproducto(crud ventanaPadre)
{
+ this.ventanaPadre = ventanaPadre;
InitializeComponent();
}
+
+ private void pictureBox2_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ string nombre = txtNombre.Text;
+ decimal precio = decimal.Parse(txtPrecio.Text);
+ //valida que se haya colocado alguna imagen
+ if (!imagePath.Equals("")) {
+ Producto producto = new Producto(-1, nombre, "", precio, imagePath, 0);
+ if (service.insertarProducto(producto))
+ {
+ string destinationFolder = Path.Combine(Application.StartupPath, "Resources");
+ string destinationFile = Path.Combine(destinationFolder, Path.GetFileName(imagePath));
+ File.Copy(imagePath, destinationFile, true);
+
+ Close();
+ ventanaPadre.llenarLayout();
+ }
+ }
+ else
+ {
+ MessageBox.Show("Por favor seleccione alguna imagen", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ }
+ catch {
+ MessageBox.Show("Por favor introduzca un precio valido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ OpenFileDialog openFileDialog1 = new OpenFileDialog();
+
+ openFileDialog1.Filter = "Archivos de imagen (*.jpg, *.jpeg, *.png, *.bmp)|*.jpg;*.jpeg;*.png;*.bmp";
+ openFileDialog1.Title = "Seleccionar imagen";
+
+ if (openFileDialog1.ShowDialog() == DialogResult.OK)
+ {
+ imagePath = openFileDialog1.FileName;
+ lbImg.Text = $"Imagen: {Path.GetFileName(imagePath)}";
+ }
+ }
+
+ private void pictureBox1_Click(object sender, EventArgs e)
+ {
+ Close();
+ }
}
}
diff --git a/admin/crud.Designer.cs b/admin/crud.Designer.cs
index 8836728..24bcf0d 100644
--- a/admin/crud.Designer.cs
+++ b/admin/crud.Designer.cs
@@ -169,6 +169,7 @@
this.btnAgregar.TabIndex = 15;
this.btnAgregar.Text = "Agregar";
this.btnAgregar.UseVisualStyleBackColor = true;
+ this.btnAgregar.Click += new System.EventHandler(this.btnAgregar_Click);
//
// crud
//
diff --git a/admin/crud.cs b/admin/crud.cs
index d46de24..e08316b 100644
--- a/admin/crud.cs
+++ b/admin/crud.cs
@@ -24,9 +24,12 @@ namespace compabetov2.admin
llenarLayout();
}
- private void llenarLayout()
+ public void llenarLayout()
{
+ AdminPanel.Controls.Clear();
+ productos.Clear();
productos = service.conseguirProductos();
+
foreach (Producto producto in productos)
{
@@ -107,6 +110,9 @@ namespace compabetov2.admin
btnVariante.Dock = DockStyle.Fill;
btnVariante.Click += new EventHandler(delegate (object sender, EventArgs e)
{
+ Variantes variantes = new Variantes(this);
+ variantes.Owner = this;
+ variantes.Show();
});
Button btnEliminar = new Button();
@@ -119,7 +125,37 @@ namespace compabetov2.admin
btnEliminar.Dock = DockStyle.Fill;
btnEliminar.Click += new EventHandler(delegate (object sender, EventArgs e)
{
-
+ DialogResult result = MessageBox.Show($"¿Está seguro de que desea eliminar el producto {producto.nombre}?",
+ "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+ if (result == DialogResult.Yes)
+ {
+ if (service.eliminarProducto(producto))
+ {
+ //eliminar imagen antigua
+ string destinationFolder = Path.Combine(Application.StartupPath, "Resources");
+ string imagenEliminada = Path.Combine(destinationFolder, producto.img);
+ llenarLayout();
+ //se pone a esperar 1 segundo antes de eliminar la imagen
+ //esto para que al programa le de tiempo de dejar de utilizar la imagen y no lance una excepcion
+ Timer timer = new Timer();
+ timer.Interval = 1000; // 1 segundos
+ timer.Tick += delegate (object sender2, EventArgs e2)
+ {
+ try
+ {
+ File.Delete(imagenEliminada);
+ timer.Stop();
+ }
+ catch (Exception ex)
+ {
+ // Manejar la excepción de eliminación de archivo temporal
+ Console.WriteLine("Error al eliminar archivo temporal: " + ex.Message);
+ }
+ };
+ timer.Start();
+
+ }
+ }
});
@@ -131,13 +167,12 @@ namespace compabetov2.admin
agregarPanel.Controls.Add(btnVariante, 1, 0);
agregarPanel.Controls.Add(btnEliminar, 2, 0);
-
filaLayout.Controls.Add(informacionProducto, 0, 0);
filaLayout.Controls.Add(agregarPanel, 1, 0);
AdminPanel.Controls.Add(filaLayout);
}
}
-
+
private void crud_Load(object sender, EventArgs e)
{
@@ -169,5 +204,12 @@ namespace compabetov2.admin
menuprincipalForm.BringToFront();
}
}
+
+ private void btnAgregar_Click(object sender, EventArgs e)
+ {
+ agregarproducto agregarproducto = new agregarproducto(this);
+ agregarproducto.Owner = this;
+ agregarproducto.Show();
+ }
}
}
diff --git a/admin/editar.cs b/admin/editar.cs
index ae44b73..77728b6 100644
--- a/admin/editar.cs
+++ b/admin/editar.cs
@@ -1,4 +1,5 @@
-using compabetov2.database.modelos;
+using compabetov2.database;
+using compabetov2.database.modelos;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -59,7 +60,57 @@ namespace compabetov2.admin
{
try {
decimal precio = decimal.Parse(txtPrecio.Text);
- }catch(Exception ex)
+ string nombre = txtNombre.Text;
+ //en caso de que descida cambiar la imagen
+ if (!imagePath.Equals(""))
+ {
+ Producto productoNuevo = new Producto(producto.idProducto, nombre, "", precio, imagePath, 0);
+ if (service.editarProducto(productoNuevo))
+ {
+ //guardar imagen nueva
+ string destinationFolder = Path.Combine(Application.StartupPath, "Resources");
+ string destinationFile = Path.Combine(destinationFolder, Path.GetFileName(imagePath));
+ File.Copy(imagePath, destinationFile, true);
+
+ ventanaPadre.llenarLayout();
+
+
+ //eliminar imagen antigua
+ string imagenEliminada = Path.Combine(destinationFolder, producto.img);
+ //se pone a esperar 1 segundo antes de eliminar la imagen
+ //esto para que al programa le de tiempo de dejar de utilizar la imagen y no lance una excepcion
+ Timer timer = new Timer();
+ timer.Interval = 1000; // 1 segundos
+ timer.Tick += delegate (object sender2, EventArgs e2)
+ {
+ try
+ {
+ File.Delete(imagenEliminada);
+ timer.Stop();
+ }
+ catch (Exception ex)
+ {
+ // Manejar la excepción de eliminación de archivo temporal
+ Console.WriteLine("Error al eliminar archivo temporal: " + ex.Message);
+ }
+ };
+
+ Close();
+
+ }
+ }
+ else
+ {
+ // si la imagen no es modificada
+ Producto productoNuevo = new Producto(producto.idProducto, nombre, "", precio, producto.img, 0);
+ if (service.editarProducto(productoNuevo))
+ {
+ ventanaPadre.llenarLayout();
+ Close();
+ }
+ }
+ }
+ catch(Exception ex)
{
MessageBox.Show("Por favor introduzca un precio valido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
diff --git a/bin/Debug/compabetov2.exe b/bin/Debug/compabetov2.exe
index 1fa84fd..bfb5c6d 100644
Binary files a/bin/Debug/compabetov2.exe and b/bin/Debug/compabetov2.exe differ
diff --git a/bin/Debug/compabetov2.pdb b/bin/Debug/compabetov2.pdb
index 1f3173a..31fe02e 100644
Binary files a/bin/Debug/compabetov2.pdb and b/bin/Debug/compabetov2.pdb differ
diff --git a/bin/Debug/data.db b/bin/Debug/data.db
index 9e77377..732be46 100644
Binary files a/bin/Debug/data.db and b/bin/Debug/data.db differ
diff --git a/bin/Debug/produtos_img/fondo.jpg b/bin/Debug/produtos_img/fondo.jpg
new file mode 100644
index 0000000..95eb267
Binary files /dev/null and b/bin/Debug/produtos_img/fondo.jpg differ
diff --git a/bin/Debug/produtos_img/the-legend-of-zelda-twi-56b48843ad5b6.jpg b/bin/Debug/produtos_img/the-legend-of-zelda-twi-56b48843ad5b6.jpg
new file mode 100644
index 0000000..01080ed
Binary files /dev/null and b/bin/Debug/produtos_img/the-legend-of-zelda-twi-56b48843ad5b6.jpg differ
diff --git a/compabetov2.csproj b/compabetov2.csproj
index 30033ca..d745e7e 100644
--- a/compabetov2.csproj
+++ b/compabetov2.csproj
@@ -130,6 +130,12 @@
editar.cs
+
+ Form
+
+
+ Variantes.cs
+
@@ -310,6 +316,9 @@
editar.cs
+
+ Variantes.cs
+
AgregarEmpleado1.cs
diff --git a/database/DAO.cs b/database/DAO.cs
index 8eacccd..091f585 100644
--- a/database/DAO.cs
+++ b/database/DAO.cs
@@ -478,7 +478,39 @@ namespace compabetov2.database
command.Parameters.AddWithValue("@precio", producto.precion);
command.Parameters.AddWithValue("@img", producto.img);
command.Parameters.AddWithValue("@stock", producto.stock);
- command.Parameters.AddWithValue("@idcategoria", producto.categoria.idCategoria);
+ command.Parameters.AddWithValue("@idcategoria", 1);
+ int filasAfectadas = command.ExecuteNonQuery();
+
+ if (filasAfectadas > 0) { return true; }
+ else { return false; }
+ }
+ }
+ }
+ catch (SQLiteException ex)
+ {
+ MessageBox.Show(ex.Message);
+ return false;
+ }
+ }
+
+ public static bool editarProductoDAO(Producto producto)
+ {
+ var db_conexion = new Conexion();
+ try
+ {
+ using (SQLiteConnection conexion = db_conexion.get_connection())
+ {
+ conexion.Open();
+
+ string sql = "UPDATE Producto SET nombre = @nombre, precio = @precio, img = @img WHERE idproducto = @idproducto;";
+
+
+ using (SQLiteCommand command = new SQLiteCommand(sql, conexion))
+ {
+ command.Parameters.AddWithValue("@nombre", producto.nombre);
+ command.Parameters.AddWithValue("@precio", producto.precion);
+ command.Parameters.AddWithValue("@img", producto.img);
+ command.Parameters.AddWithValue("@idproducto", producto.idProducto);
int filasAfectadas = command.ExecuteNonQuery();
if (filasAfectadas > 0) { return true; }
diff --git a/database/service.cs b/database/service.cs
index cbd03b2..abd14e9 100644
--- a/database/service.cs
+++ b/database/service.cs
@@ -66,7 +66,17 @@ namespace compabetov2.database
{
return DAO.insertarProductoDAO(producto);
}
-
+
+ public static bool editarProducto(Producto producto)
+ {
+ return DAO.editarProductoDAO(producto);
+ }
+
+ public static bool eliminarProducto(Producto producto)
+ {
+ return DAO.eliminarProductoDAO(producto);
+ }
+
public static bool insertarCliente(Cliente cliente)
{
return DAO.insertarClienteDAO(cliente);
diff --git a/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/obj/Debug/DesignTimeResolveAssemblyReferences.cache
index 13498bc..1362474 100644
Binary files a/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/obj/Debug/compabetov2.csproj.AssemblyReference.cache b/obj/Debug/compabetov2.csproj.AssemblyReference.cache
index f1beae7..6ae8e14 100644
Binary files a/obj/Debug/compabetov2.csproj.AssemblyReference.cache and b/obj/Debug/compabetov2.csproj.AssemblyReference.cache differ
diff --git a/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache b/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache
index 6621135..99ad058 100644
--- a/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache
+++ b/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-30eeea1d3a18c3af78d41c1a75498495f055cb0c8c73112988833c654a1eeba7
+9d955a773c1723ba869474290d793277f0a353ff7f35db8c554c5d0fbfe417e0
diff --git a/obj/Debug/compabetov2.csproj.FileListAbsolute.txt b/obj/Debug/compabetov2.csproj.FileListAbsolute.txt
index e633da0..2319af8 100644
--- a/obj/Debug/compabetov2.csproj.FileListAbsolute.txt
+++ b/obj/Debug/compabetov2.csproj.FileListAbsolute.txt
@@ -156,3 +156,6 @@ C:\Users\carsu\source\repos\compabetoOG\obj\Debug\compabetov2.admin.editar.resou
=======
C:\Users\Googl\Source\Repos\aspermaster23yeh\compabetoOG\obj\Debug\compabetov2.admin.editar.resources
>>>>>>> ae6945f7e474edb1bde1c277c092d25b221e151b
+C:\Users\carsu\source\repos\compabetoOG\obj\Debug\compabetov2.admin.addvariante.resources
+C:\Users\carsu\source\repos\compabetoOG\obj\Debug\compabetov2.admin.agregarproducto.resources
+C:\Users\carsu\source\repos\compabetoOG\obj\Debug\compabetov2.admin.Variantes.resources
diff --git a/obj/Debug/compabetov2.csproj.GenerateResource.cache b/obj/Debug/compabetov2.csproj.GenerateResource.cache
index 9c5cbda..6adebdd 100644
Binary files a/obj/Debug/compabetov2.csproj.GenerateResource.cache and b/obj/Debug/compabetov2.csproj.GenerateResource.cache differ
diff --git a/obj/Debug/compabetov2.exe b/obj/Debug/compabetov2.exe
index 1fa84fd..bfb5c6d 100644
Binary files a/obj/Debug/compabetov2.exe and b/obj/Debug/compabetov2.exe differ
diff --git a/obj/Debug/compabetov2.pdb b/obj/Debug/compabetov2.pdb
index 1f3173a..31fe02e 100644
Binary files a/obj/Debug/compabetov2.pdb and b/obj/Debug/compabetov2.pdb differ