//Esta clase se Mapeara con el ORM Dapper.- public DetalleOrden() { producto = new producto(); }
//Si el objeto “producto” se desea modificar este actualizara en la base de datos cuando este ya este modificado, no se modificara el ID del producto solo sus otros campos public static int Actualizar(producto prod) { int numMsj = 0; String msjExepcion = "ManejadorProductos.Actualizar()$Problemas al conectar en la DB."; int respuesta = 0; try { using (IDbConnection db = new MySqlConnection(DbConnection.Cadena())) { if (db.State == ConnectionState.Closed) { db.Open(); } if (prod.idProducto > 0 && (!prod.nombre.Equals("")) && prod.precio > 0 && prod.categoria.idCategoria > 0 && (prod.area == 'c' || prod.area == 'b')) { // verifica si el idCategoria a ingresar exista en la tabla categoria var query = "SELECT COUNT(*) FROM categoria WHERE idCategoria=@p2;"; var respuesta1 = db.Query <int>(query, new { p2 = prod.categoria.idCategoria }).SingleOrDefault(); if (respuesta1 == 1) { query = "UPDATE producto SET nombre=@nombr, precio=@preci, idCategoria=@idCategori, area=@are WHERE idProducto= @idProduct;"; respuesta = db.Execute(query, param: new { idProduct = prod.idProducto, nombr = prod.nombre, preci = prod.precio, idCategori = prod.categoria.idCategoria, are = prod.area }); if (respuesta == 0) { numMsj = 3; //"ManejadorProductos.Actualizar()$No Existe registro de id=" + prod.idProducto throw new ErrorAplicationException(); } } else { numMsj = 2;//"ManejadorProductos.Actualizar()$No se puede realizar la operación de Actualizar, la categoria ingresada no existe" throw new ErrorAplicationException(); } } else { numMsj = 1; //"ManejadorProductos.Actualizar()$Campo o campos invalidos" throw new ErrorAplicationException(); } } return(respuesta); } catch { switch (numMsj) { case 1: msjExepcion = "ManejadorProductos.Actualizar()$Campo o campos invalidos."; break; case 2: msjExepcion = "ManejadorProductos.Actualizar()$No se puede realizar la operación de Actualizar, la categoria ingresada no existe."; break; case 3: msjExepcion = "ManejadorProductos.Actualizar()$No Existe registro de id=" + prod.idProducto; break; } throw new ErrorAplicationException(msjExepcion); } }