From 715f763c719aade878f3297c3fdbd71fd7d60dcb Mon Sep 17 00:00:00 2001 From: carlos Date: Tue, 26 Dec 2023 22:21:01 -0600 Subject: [PATCH] CRUD de clientes --- .vs/VSWorkspaceState.json | 3 +- .vs/compabetoOG/v17/.wsuo | Bin 31232 -> 40960 bytes .vs/compabetov2.csproj.dtbcache.json | 2 +- bin/Debug/compabetov2.exe | Bin 4293120 -> 4295680 bytes bin/Debug/compabetov2.pdb | Bin 108032 -> 112128 bytes bin/Debug/data.db | Bin 24576 -> 28672 bytes compabetov2.csproj | 1 + database/DAO.cs | 137 +++++++++++++++++- database/modelos/Cliente.cs | 42 ++++++ database/service.cs | 36 +++++ ...compabetov2.csproj.CoreCompileInputs.cache | 2 +- obj/Debug/compabetov2.exe | Bin 4293120 -> 4295680 bytes obj/Debug/compabetov2.pdb | Bin 108032 -> 112128 bytes 13 files changed, 214 insertions(+), 9 deletions(-) create mode 100644 database/modelos/Cliente.cs diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json index 23762ee..dc00168 100644 --- a/.vs/VSWorkspaceState.json +++ b/.vs/VSWorkspaceState.json @@ -2,8 +2,7 @@ "ExpandedNodes": [ "", "\\database", - "\\database\\modelos", - "\\Resources" + "\\database\\modelos" ], "SelectedNode": "\\.sln", "PreviewInSolutionExplorer": false diff --git a/.vs/compabetoOG/v17/.wsuo b/.vs/compabetoOG/v17/.wsuo index 9c8372032b459aca520f6ae408c5eeff615822f7..ff4e67fa60a4fb77544004736351cdbd8edc9c9a 100644 GIT binary patch delta 5777 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 IHO4Z32cUsgDgXcg diff --git a/.vs/compabetov2.csproj.dtbcache.json b/.vs/compabetov2.csproj.dtbcache.json index 125822e..76dff4e 100644 --- a/.vs/compabetov2.csproj.dtbcache.json +++ b/.vs/compabetov2.csproj.dtbcache.json @@ -1 +1 @@ -{"RootPath":"C:\\Users\\carsu\\Source\\Repos\\compabetoOG","ProjectFileName":"compabetov2.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Form1.cs"},{"SourceFile":"Form1.Designer.cs"},{"SourceFile":"MenuPrincipal.cs"},{"SourceFile":"MenuPrincipal.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"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:\\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.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:\\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 +{"RootPath":"C:\\Users\\carsu\\source\\repos\\compabetoOG","ProjectFileName":"compabetov2.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"cuentas.cs"},{"SourceFile":"cuentas.Designer.cs"},{"SourceFile":"database\\conexion.cs"},{"SourceFile":"database\\DAO.cs"},{"SourceFile":"database\\modelos\\Categoria.cs"},{"SourceFile":"database\\modelos\\Producto.cs"},{"SourceFile":"database\\modelos\\usuario.cs"},{"SourceFile":"database\\service.cs"},{"SourceFile":"inventario.cs"},{"SourceFile":"inventario.Designer.cs"},{"SourceFile":"login.cs"},{"SourceFile":"login.Designer.cs"},{"SourceFile":"MenuPrincipal.cs"},{"SourceFile":"MenuPrincipal.Designer.cs"},{"SourceFile":"mermas.cs"},{"SourceFile":"mermas.Designer.cs"},{"SourceFile":"personal.cs"},{"SourceFile":"personal.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"vender.cs"},{"SourceFile":"vender.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:\\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/bin/Debug/compabetov2.exe b/bin/Debug/compabetov2.exe index e8755cf6c4591bc5fe0efd31177d182ce1c465b4..fe3fc0d9d859b1338029beb536738985a3b397fd 100644 GIT binary patch delta 8024 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 delta 6179 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 Wn<68nyD|Pd{R@NkO?;^E8}UCzT?wE7 diff --git a/bin/Debug/compabetov2.pdb b/bin/Debug/compabetov2.pdb index aff23ee6cef75fb7f636b7fd2c059ccd31a7a117..89f04eea8d7cf5345a667674b7e5c62a23dfd86e 100644 GIT binary patch delta 9149 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 MfJI<4OTZs~0FF~ccmMzZ diff --git a/compabetov2.csproj b/compabetov2.csproj index 5012fbb..b0ce6d4 100644 --- a/compabetov2.csproj +++ b/compabetov2.csproj @@ -74,6 +74,7 @@ + diff --git a/database/DAO.cs b/database/DAO.cs index b810b91..57358b5 100644 --- a/database/DAO.cs +++ b/database/DAO.cs @@ -107,10 +107,13 @@ namespace compabetov2.database { conexion.Open(); - string sql = "INSERT INTO Producto (nombre, descripcion, precio, stock, fk_idcategoria) "+ - "VALUES (@nombre, @descripcion, @precio,@stock, @idcategoria)"; - - + string sql = "INSERT INTO Producto (nombre, descripcion, precio,img, stock, fk_idcategoria) "+ + "VALUES (@nombre, @descripcion, @precio,@img , @stock, @idcategoria)"; + + if (!producto.img.Equals("")) + { + producto.img = guardarImg(producto.img); + } using (SQLiteCommand command = new SQLiteCommand(sql, conexion)) @@ -118,6 +121,7 @@ namespace compabetov2.database command.Parameters.AddWithValue("@nombre", producto.nombre); command.Parameters.AddWithValue("@descripcion", producto.descripcion); 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); int filasAfectadas = command.ExecuteNonQuery(); @@ -134,6 +138,34 @@ namespace compabetov2.database } } + public static bool eliminarProductoDAO(Producto producto) + { + var db_conexion = new Conexion(); + try + { + using (SQLiteConnection conexion = db_conexion.get_connection()) + { + conexion.Open(); + + string sql = "DELETE FROM Producto WHERE idproducto = @idproducto"; + + using (SQLiteCommand command = new SQLiteCommand(sql, conexion)) + { + command.Parameters.AddWithValue("@idproducto", producto.idProducto); + int filasAfectadas = command.ExecuteNonQuery(); + + if (filasAfectadas > 0) { return true; } + else { return false; } + } + } + } + catch (SQLiteException ex) + { + MessageBox.Show(ex.Message); + return false; + } + } + public static bool insertarCategoriaDAO(Categoria categoria) { var db_conexion = new Conexion(); @@ -164,6 +196,96 @@ namespace compabetov2.database } } + public static bool insertarClienteDAO(Cliente cliente) + { + var db_conexion = new Conexion(); + try + { + using (SQLiteConnection conexion = db_conexion.get_connection()) + { + conexion.Open(); + + string sql = "INSERT INTO Cliente (nombres, apellidos, calle, colonia, cp, no_ext, no_int, referencia, telefono, telefono_extra) " + + "VALUES (@nombres, @apellidos, @calle, @colonia, @cp, @no_ext, @no_int, @referencia, @telefono, @telefono_extra)"; + + using (SQLiteCommand command = new SQLiteCommand(sql, conexion)) + { + command.Parameters.AddWithValue("@nombre", cliente.nombres); + command.Parameters.AddWithValue("@apellidios", cliente.apellidos); + command.Parameters.AddWithValue("@calle", cliente.calle); + command.Parameters.AddWithValue("@colonia", cliente.colonia); + command.Parameters.AddWithValue("@cp", cliente.cp); + command.Parameters.AddWithValue("@no_ext", cliente.no_ext); + command.Parameters.AddWithValue("@no_int", cliente.no_int); + command.Parameters.AddWithValue("@referencia", cliente.referencia); + command.Parameters.AddWithValue("@telefono", cliente.telefono); + command.Parameters.AddWithValue("@telefono_extra", cliente.telefono_extra); + int filasAfectadas = command.ExecuteNonQuery(); + + if (filasAfectadas > 0) { return true; } + else { return false; } + } + } + } + catch (SQLiteException ex) + { + MessageBox.Show(ex.Message); + return false; + } + } + + public static bool eliminarClienteDAO(Cliente cliente) + { + var db_conexion = new Conexion(); + try + { + using (SQLiteConnection conexion = db_conexion.get_connection()) + { + conexion.Open(); + + string sql = "DELETE FROM Cliente WHERE idCliente = @idCliente"; + + using (SQLiteCommand command = new SQLiteCommand(sql, conexion)) + { + command.Parameters.AddWithValue("@idCliente", cliente.idCliente); + int filasAfectadas = command.ExecuteNonQuery(); + + if (filasAfectadas > 0) { return true; } + else { return false; } + } + } + } + catch (SQLiteException ex) + { + MessageBox.Show(ex.Message); + return false; + } + } + + public static SQLiteDataReader conseguirClientesDAO() + { + SQLiteDataReader reader = null; + var db_conexion = new Conexion(); + try + { + using (SQLiteConnection conexion = db_conexion.get_connection()) + { + conexion.Open(); + + string sql = "SELECT * FROM Cliente"; + SQLiteCommand command = new SQLiteCommand(sql, conexion); + reader = command.ExecuteReader(); + + return reader; + } + } + catch (SQLiteException ex) + { + MessageBox.Show(ex.Message); + return reader; + } + } + private static string guardarImg(String rutaImagen) { //consigue la carpeta del proyectro @@ -195,6 +317,7 @@ namespace compabetov2.database "DROP TABLE IF EXISTS Empleado", "DROP TABLE IF EXISTS Producto", "DROP TABLE IF EXISTS Categoria", + "DROP TABLE IF EXISTS Cliente", "CREATE TABLE Empleado (idempleado INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT NOT NULL, "+ "apellido TEXT NOT NULL, calle TEXT NOT NULL, fecha_contratacion TEXT NOT NULL, colonia TEXT NOT NULL, cp TEXT NOT NULL, no_ext TEXT NOT NULL," + @@ -206,9 +329,13 @@ namespace compabetov2.database "CREATE TABLE Categoria (idcategoria INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT NOT NULL, descripcion TEXT NOT NULL)", "CREATE TABLE Producto (idproducto INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT NOT NULL, descripcion TEXT NOT NULL, "+ - "precio DECIMAL(10, 2) NOT NULL, stock INTEGER NOT NULL, " + + "precio DECIMAL(10, 2) NOT NULL, img TEXT NOT NULL, stock INTEGER NOT NULL, " + "fk_idcategoria INTEGER NOT NULL, FOREIGN KEY (fk_idcategoria) REFERENCES Categoria (idcategoria))", + "CREATE TABLE Cliente (idcliente INTEGER PRIMARY KEY AUTOINCREMENT, nombres TEXT NOT NULL, apellidos TEXT NOT NULL, " + + "calle TEXT NOT NULL, colonia TEXT NOT NULL, cp TEXT NOT NULL, no_ext TEXT NOT NULL, no_int TEXT NOT NULL, referencia TEXT NOT NULL, " + + "telefono TEXT NOT NULL, telefono_extra TEXT NOT NULL)", + "INSERT INTO Empleado ( nombre, apellido, calle, fecha_contratacion, colonia, cp, no_ext,no_int, referencia, fecha_nac, telefono, activo) VALUES('jefe', '', '', '', '', '', '', '', '', '', '', 0);", "INSERT INTO Login ( tipo, usuario, contra, fk_idempleado) VALUES('admin', 'admin', '12345', 1);" }; diff --git a/database/modelos/Cliente.cs b/database/modelos/Cliente.cs new file mode 100644 index 0000000..d61ecf3 --- /dev/null +++ b/database/modelos/Cliente.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace compabetov2.database.modelos +{ + public class Cliente + { + public int idCliente; + public string nombres; + public string apellidos; + public string calle; + public string colonia; + public string cp; + public string no_ext; + public string no_int; + public string referencia; + public string telefono; + public string telefono_extra; + + public Cliente(int idCliente = -1, string nombres = "", string apellidos = "", string calle = "", + string colonia = "", string cp = "", string no_ext = "",string no_int = "", string referencia = "", string telefono = "", string telefono_extra = "") + { + this.idCliente = idCliente; + this.nombres = nombres; + this.apellidos = apellidos; + this.calle = calle; + this.colonia = colonia; + this.cp = cp; + this.no_ext = no_ext; + this.no_int = no_int; + this.referencia = referencia; + this.telefono = telefono; + this.telefono_extra = telefono_extra; + + + } + } +} + diff --git a/database/service.cs b/database/service.cs index 2311812..c7fe170 100644 --- a/database/service.cs +++ b/database/service.cs @@ -53,5 +53,41 @@ namespace compabetov2.database { return DAO.insertarCategoriaDAO(categoria); } + + public static bool insertarCliente(Cliente cliente) + { + return DAO.insertarClienteDAO(cliente); + } + + public static bool eliminarCliente(Cliente cliente) + { + return DAO.eliminarClienteDAO(cliente); + } + + public static List conseguirCliente() + { + List clientes = new List(); + + SQLiteDataReader reader = DAO.conseguirClientesDAO(); + + while (reader.Read()) + { + Cliente cliente = new Cliente( + (int)reader["idCliente"], + reader["nombres"].ToString(), + reader["apellidos"].ToString(), + reader["calle"].ToString(), + reader["colonia"].ToString(), + reader["cp"].ToString(), + reader["no_ext"].ToString(), + reader["no_int"].ToString(), + reader["referencia"].ToString(), + reader["telefono"].ToString(), + reader["telefono_extra"].ToString() + ); + clientes.Add(cliente); + } + return clientes; + } } } diff --git a/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache b/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache index 143446f..22aac9d 100644 --- a/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache +++ b/obj/Debug/compabetov2.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -27e294817a0bec5f75cbc3af7fd0a10fac43022232f7b6272aae9c64a32c97fa +02dc50247532cb20084f44304c5c95e6e614121351100c9987f88dd3c1f0e1c2 diff --git a/obj/Debug/compabetov2.exe b/obj/Debug/compabetov2.exe index e8755cf6c4591bc5fe0efd31177d182ce1c465b4..fe3fc0d9d859b1338029beb536738985a3b397fd 100644 GIT binary patch delta 8024 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 delta 6179 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 Wn<68nyD|Pd{R@NkO?;^E8}UCzT?wE7 diff --git a/obj/Debug/compabetov2.pdb b/obj/Debug/compabetov2.pdb index aff23ee6cef75fb7f636b7fd2c059ccd31a7a117..89f04eea8d7cf5345a667674b7e5c62a23dfd86e 100644 GIT binary patch delta 9149 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