diff --git a/Cuentas/cuentas.cs b/Cuentas/cuentas.cs index 2626d0c..80b1e98 100644 --- a/Cuentas/cuentas.cs +++ b/Cuentas/cuentas.cs @@ -58,7 +58,7 @@ namespace compabetov2 TableLayoutPanel carta = new TableLayoutPanel(); carta.RowCount = 1; carta.ColumnCount = 2; - carta.Height = 100; + carta.Height = 80; carta.Width = 820; carta.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 55F)); carta.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 45F)); diff --git a/Envios/envios.cs b/Envios/envios.cs index d02a263..09df96d 100644 --- a/Envios/envios.cs +++ b/Envios/envios.cs @@ -6,6 +6,7 @@ using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; @@ -26,17 +27,15 @@ namespace compabetov2 { panelEnvio.Controls.Clear(); List envios = service.conseguirEnvio(); - panelEnvio.BackColor = Color.Aqua; foreach(Envio envio in envios) { TableLayoutPanel carta = new TableLayoutPanel(); carta.ColumnCount = 1; carta.RowCount = 2; - carta.RowStyles.Add(new RowStyle(SizeType.Percent, 80F)); - carta.RowStyles.Add(new RowStyle(SizeType.Percent, 20F)); + carta.RowStyles.Add(new RowStyle(SizeType.Percent, 75F)); + carta.RowStyles.Add(new RowStyle(SizeType.Percent, 25F)); carta.Width = 700; - carta.Height = 150; - carta.BackColor = Color.Gray; + carta.Height = 170; FlowLayoutPanel infoPanel = new FlowLayoutPanel(); infoPanel.FlowDirection = FlowDirection.TopDown; @@ -44,13 +43,130 @@ namespace compabetov2 Label lbFecha = new Label(); lbFecha.Text = $"Fecha: {envio.fecha}"; + lbFecha.Font = new Font(lbFecha.Font.FontFamily, 12); + lbFecha.Width = 700; Label lbDireaccion = new Label(); lbDireaccion.Text = $"Direccion: {envio.direccion}"; + lbDireaccion.Font = new Font(lbDireaccion.Font.FontFamily, 12); + lbDireaccion.Width = 700; - + Label lbTelefono = new Label(); + lbTelefono.Text = $"Telefono: {envio.telefono}"; + lbTelefono.Font = new Font(lbTelefono.Font.FontFamily, 12); + lbTelefono.Width = 700; + Label lbCliente = new Label(); + lbCliente.Text = $"Cliente: {envio.cliente}"; + lbCliente.Font = new Font(lbCliente.Font.FontFamily, 12); + lbCliente.Width = 700; + + Label lbResponzable = new Label(); + lbResponzable.Text = $"Responzable: {envio.responsable}"; + lbResponzable.Font = new Font(lbResponzable.Font.FontFamily, 12); + lbResponzable.Width = 700; + + TableLayoutPanel botonesPanel = new TableLayoutPanel(); + botonesPanel.RowCount = 1; + botonesPanel.ColumnCount = 4; + botonesPanel.Dock = DockStyle.Fill; + botonesPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + botonesPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + botonesPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + botonesPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + botonesPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); + + Button btnDetalles = new Button(); + btnDetalles.Text = "Detalles"; + btnDetalles.Dock = DockStyle.Fill; + btnDetalles.FlatStyle = FlatStyle.Flat; + btnDetalles.FlatAppearance.BorderSize = 0; + btnDetalles.BackColor = Color.FromArgb(33, 90, 255); + btnDetalles.Font = new Font(btnDetalles.Font.FontFamily, 16); + btnDetalles.ForeColor = Color.White; + btnDetalles.Click += new EventHandler(delegate (object sender, EventArgs e) + { + List detalles = service.conseguirDetalleEnvio(envio.id); + string mensaje = ""; + foreach (DetalleEnvioModel detalle in detalles) + { + mensaje += $"{detalle.producto.nombre} - {detalle.cantidad}\n"; + } + MessageBox.Show(mensaje); + }); + + Button btnConcluir = new Button(); + btnConcluir.Text = "Concluir"; + btnConcluir.Dock = DockStyle.Fill; + btnConcluir.FlatStyle = FlatStyle.Flat; + btnConcluir.FlatAppearance.BorderSize = 0; + btnConcluir.BackColor = Color.FromArgb(33, 90, 255); + btnConcluir.Font = new Font(btnDetalles.Font.FontFamily, 16); + btnConcluir.ForeColor = Color.White; + btnConcluir.Click += new EventHandler(delegate (object sender, EventArgs e) + { + List detalles = service.conseguirDetalleEnvio(envio.id); + string mensaje = ""; + foreach (DetalleEnvioModel detalle in detalles) + { + mensaje += $"{detalle.producto.nombre} - {detalle.cantidad}\n"; + } + MessageBox.Show(mensaje); + }); + + Button btnCancelar = new Button(); + btnCancelar.Text = "Cancelar"; + btnCancelar.Dock = DockStyle.Fill; + btnCancelar.FlatStyle = FlatStyle.Flat; + btnCancelar.FlatAppearance.BorderSize = 0; + btnCancelar.BackColor = Color.Red; + btnCancelar.Font = new Font(btnDetalles.Font.FontFamily, 16); + btnCancelar.Click += new EventHandler(delegate (object sender, EventArgs e) + { + List detalles = service.conseguirDetalleEnvio(envio.id); + string mensaje = ""; + foreach (DetalleEnvioModel detalle in detalles) + { + mensaje += $"{detalle.producto.nombre} - {detalle.cantidad}\n"; + } + MessageBox.Show(mensaje); + }); + + Button btnAgregar = new Button(); + btnAgregar.Text = "Agregar"; + btnAgregar.Dock = DockStyle.Fill; + btnAgregar.FlatStyle = FlatStyle.Flat; + btnAgregar.FlatAppearance.BorderSize = 0; + btnAgregar.BackColor = Color.FromArgb(33, 90, 255); + btnAgregar.Font = new Font(btnDetalles.Font.FontFamily, 16); + btnAgregar.ForeColor = Color.White; + btnAgregar.Click += new EventHandler(delegate (object sender, EventArgs e) + { + List detalles = service.conseguirDetalleEnvio(envio.id); + string mensaje = ""; + foreach (DetalleEnvioModel detalle in detalles) + { + mensaje += $"{detalle.producto.nombre} - {detalle.cantidad}\n"; + } + MessageBox.Show(mensaje); + }); + + + infoPanel.Controls.Add(lbFecha); + infoPanel.Controls.Add(lbResponzable); + infoPanel.Controls.Add(lbCliente); + infoPanel.Controls.Add(lbDireaccion); + infoPanel.Controls.Add(lbTelefono); + + botonesPanel.Controls.Add(btnDetalles, 0, 0); + botonesPanel.Controls.Add(btnConcluir, 1, 0); + botonesPanel.Controls.Add(btnAgregar, 2, 0); + botonesPanel.Controls.Add(btnCancelar, 3, 0); + + carta.Controls.Add(infoPanel,0,0); + carta.Controls.Add(botonesPanel,0,1); + panelEnvio.Controls.Add(carta); } diff --git a/Ventas/vender.cs b/Ventas/vender.cs index 7e0e686..902e459 100644 --- a/Ventas/vender.cs +++ b/Ventas/vender.cs @@ -708,7 +708,7 @@ namespace compabetov2 { List detallesEnvio = listaProductosEnvio(); string responsable = responsablecb.Text.Equals("") ? loginPrincipal.usuario : responsablecb.Text; - Envio envio = new Envio(-1, DateTime.Now.ToString(), "", "", responsable); + Envio envio = new Envio(-1, DateTime.Now.ToString(), "", "", responsable,"","",total); if(detallesEnvio.Count > 0){ if (service.crearEnvio(envio, detallesEnvio)) { diff --git a/bin/Debug/compabetov2.exe b/bin/Debug/compabetov2.exe index 68174d2..dc7a092 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 95ff521..1946273 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 3958927..8576584 100644 Binary files a/bin/Debug/data.db and b/bin/Debug/data.db differ diff --git a/database/DAO.cs b/database/DAO.cs index d529cbf..9055672 100644 --- a/database/DAO.cs +++ b/database/DAO.cs @@ -1212,7 +1212,7 @@ namespace compabetov2.database { try { - string sqlEnvio = "INSERT INTO envios (fecha, direccion, telefono) VALUES(@fecha,@direccion , @telefono);"; + string sqlEnvio = "INSERT INTO envios (fecha, direccion, telefono,total) VALUES(@fecha,@direccion , @telefono,@total);"; string sqlDetalle = "INSERT INTO detalle_envios (fk_envios, fk_producto, cantidad) VALUES(@fk_envios, @fk_producto, @cantidad);"; string sqlIdCuenta = "SELECT idEnvios FROM envios ORDER BY idEnvios DESC LIMIT 1"; @@ -1220,6 +1220,7 @@ namespace compabetov2.database commandCuenta.Parameters.AddWithValue("@fecha", envio.fecha); commandCuenta.Parameters.AddWithValue("@direccion", ""); commandCuenta.Parameters.AddWithValue("@telefono", ""); + commandCuenta.Parameters.AddWithValue("@total", envio.total); commandCuenta.ExecuteNonQuery(); SQLiteCommand commandConsulta = new SQLiteCommand(sqlIdCuenta, conexion); @@ -1283,6 +1284,31 @@ namespace compabetov2.database } } + public static SQLiteDataReader conseguirDetalleEnvioDAO(int idEnvio) + { + SQLiteDataReader reader = null; + var db_conexion = new Conexion(); + try + { + SQLiteConnection conexion = db_conexion.get_connection(); + + conexion.Open(); + + string sql = "Select p.idproducto, p.nombre , de.cantidad from detalle_envios de, Producto p WHERE de.fk_producto = p.idproducto and de.fk_envios = @fk_envios;"; + SQLiteCommand command = new SQLiteCommand(sql, conexion); + command.Parameters.AddWithValue("@fk_envios", idEnvio); + reader = command.ExecuteReader(); + + return reader; + + } + catch (SQLiteException ex) + { + MessageBox.Show(ex.Message); + return reader; + } + } + private static void crearDB() { var db_conexion = new Conexion(); diff --git a/database/modelos/Envio.cs b/database/modelos/Envio.cs index 7a83fbe..bdb5072 100644 --- a/database/modelos/Envio.cs +++ b/database/modelos/Envio.cs @@ -13,13 +13,19 @@ namespace compabetov2.database.modelos public string direccion; public string telefono; public string responsable; + public string estado; + public string cliente; + public decimal total; - public Envio(int id, string fecha, string direccion, string telefono, string responsable) { + public Envio(int id, string fecha, string direccion, string telefono, string responsable,string estado,string cliente, decimal total) { this.id = id; this.fecha = fecha; this.direccion = direccion; this.telefono = telefono; this.responsable = responsable; + this.estado = estado; + this.cliente = cliente; + this.total = total; } } } diff --git a/database/service.cs b/database/service.cs index 286cad9..e630d15 100644 --- a/database/service.cs +++ b/database/service.cs @@ -333,13 +333,36 @@ namespace compabetov2.database reader.GetString(1), reader.GetString(2), reader.GetString(3), - reader.GetString(4) - ); + reader.GetString(4), + reader.GetString(5), + reader.GetString(7), + reader.GetDecimal(6) + ) ; envios.Add(envio); } return envios; } + + public static List conseguirDetalleEnvio(int idEnvio) + { + List detallesEnvio = new List(); + + SQLiteDataReader reader = DAO.conseguirDetalleEnvioDAO(idEnvio); + + while (reader.Read()) + { + int idProducto = (int)reader.GetInt64(0); + DetalleEnvioModel detalleEnvio = new DetalleEnvioModel( + idEnvio, + new Producto(idProducto, reader["nombre"].ToString()), + (int)reader.GetInt64(2) + ); + detallesEnvio.Add(detalleEnvio); + } + + return detallesEnvio; + } } } diff --git a/obj/Debug/compabetov2.exe b/obj/Debug/compabetov2.exe index 68174d2..dc7a092 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 95ff521..1946273 100644 Binary files a/obj/Debug/compabetov2.pdb and b/obj/Debug/compabetov2.pdb differ