public Boolean agregarRespuesto(int numeroParte, int idTipo, int idMarca, int idModelo, int idEstilo, int idCombustible, string descripcionV, int anio, int inventario, string descripcion, int precio) { int idVehiculo = -1; _RepuestoNuevo = new Repuesto(); _RepuestoNuevo.NumeroParte = numeroParte; _RepuestoNuevo.IdTipo = idTipo; _RepuestoNuevo.IdMarca = idMarca; _RepuestoNuevo.IdModelo = Int32.Parse(_ListaModelos[idModelo]); _RepuestoNuevo.IdEstilo = idEstilo; _RepuestoNuevo.IdCombustible = idCombustible; _RepuestoNuevo.DescripcionVehiculo = descripcionV; _RepuestoNuevo.Anio = anio; _RepuestoNuevo.Inventario = inventario; _RepuestoNuevo.Descripcion = descripcion; _RepuestoNuevo.Precio = (decimal)precio; MySqlDataReader myreader; myreader = AccesoDatosRepuestos.buscarIdVehiculo(_RepuestoNuevo); while (myreader.Read()) { idVehiculo = (int)myreader[0]; } if(idVehiculo == -1) { AccesoDatosRepuestos.insertarVehiculo(_RepuestoNuevo); return AccesoDatosRepuestos.insertarRepuestoNuevoVehiculo(_RepuestoNuevo); } else return AccesoDatosRepuestos.insertarRepuesto(_RepuestoNuevo, idVehiculo) ; }
//busca el id del vehiculo del repuesto que se va a agregar public static MySqlDataReader buscarIdVehiculo(Repuesto _RespuestoNuevo) { MySqlConnection conn = new MySqlConnection(AccesoDatos._Connection); MySqlDataReader myreader; conn.Open(); try { string query = "Select IdVehiculo from vehiculos where IdMarca = @param_Marca AND IdModelo = @param_Modelo AND IdEstilo = " + "@param_Estilo AND Ano = @param_Anio AND IdCombustible = @param_Combustible and Descripcion = @param_Descripcion"; MySqlCommand mycomand = new MySqlCommand(query, conn); mycomand.Parameters.AddWithValue("@param_Marca", _RespuestoNuevo.IdMarca); mycomand.Parameters.AddWithValue("@param_Modelo", _RespuestoNuevo.IdModelo); mycomand.Parameters.AddWithValue("@param_Estilo", _RespuestoNuevo.IdEstilo); mycomand.Parameters.AddWithValue("@param_Combustible", _RespuestoNuevo.IdCombustible); mycomand.Parameters.AddWithValue("@param_Anio", _RespuestoNuevo.Anio); mycomand.Parameters.AddWithValue("@param_Descripcion", _RespuestoNuevo.DescripcionVehiculo); myreader = mycomand.ExecuteReader(); } catch (MySqlException ex) { myreader = null; } return myreader; }
//inserta el repuesto con el id del vehiculo que se había encontrado en la base public static bool actualizarRepuesto(Repuesto _RespuestoNuevo, String pTipo, int IdVehiculo) { MySqlConnection conn = new MySqlConnection(AccesoDatos._Connection); MySqlDataReader myreader; conn.Open(); try { string query = "Insert into repuestos (idVehiculo, NumeroParte, IdTipo, Inventario, Descripcion, PrecioUnitario) " + "select @param_IdVehiculo, @param_Parte,(Select IdTipo from " + "tiporepuestos where Descripcion = @param_Tipo), @param_Inventario, @param_Descripcion, @param_Precio"; MySqlCommand mycomand = new MySqlCommand(query, conn); mycomand.Parameters.AddWithValue("@param_Parte", _RespuestoNuevo.NumeroParte); mycomand.Parameters.AddWithValue("@param_Tipo", pTipo); mycomand.Parameters.AddWithValue("@param_Inventario", _RespuestoNuevo.Inventario); mycomand.Parameters.AddWithValue("@param_Precio", _RespuestoNuevo.Precio); mycomand.Parameters.AddWithValue("@param_Descripcion", _RespuestoNuevo.Descripcion); mycomand.Parameters.AddWithValue("@param_IdVehiculo", IdVehiculo); myreader = mycomand.ExecuteReader(); banderaError = false; } catch (MySqlException ex) { banderaError = true; } return banderaError; }
public bool guardarDatosRepuesto(string pNumeroParte, string pInventario, string pDescripcion, string pPrecioUnitario, string pTipo, string pMarca, string pModelo, string pCombustible, string pEstilo, string pAnio, string pDescripcionV, int IdRepuesto) { int idVehiculo = -1; MySqlDataReader myreader; myreader = AccesoDatosRepuestos.buscarIdVehiculoRepuestoActualizado(pMarca, pModelo, pCombustible, pEstilo, pAnio, pDescripcionV); while (myreader.Read()) { idVehiculo = (int)myreader[0]; } //en caso de que el vehiculo del repuesto no exista if (idVehiculo == -1) { AccesoDatosRepuestos.insertarVehiculoRepuestoActualizado(pMarca, pModelo, pCombustible, pEstilo, pAnio, pDescripcionV); myreader = AccesoDatosRepuestos.seleccionarNuevoVehiculo(); while (myreader.Read()) { idVehiculo = (int)myreader[0]; } } Repuesto repuestoNuevo = new Repuesto(); repuestoNuevo.NumeroParte = int.Parse(pNumeroParte); repuestoNuevo.Inventario = int.Parse(pInventario); repuestoNuevo.Precio = decimal.Parse(pPrecioUnitario); repuestoNuevo.Descripcion = pDescripcion; AccesoDatosRepuestos.borrarRepuesto(IdRepuesto); if (AccesoDatosRepuestos.numeroError == 1451) { AccesoDatosRepuestos.numeroError = 0; Exception e = new Exception("El Repuesto no se puede modificar, debido a que se encuentra dentro de una factura pendiente"); e.Source = "Factura"; throw e; } return AccesoDatosRepuestos.actualizarRepuesto(repuestoNuevo, pTipo, idVehiculo); }
//inserta el vehiculo del nuevo repuesto que se quiere agregar public static bool insertarVehiculo(Repuesto _RepuestoNuevo) { MySqlConnection conn = new MySqlConnection(AccesoDatos._Connection); MySqlDataReader myreader; conn.Open(); try { string query = "insert into vehiculos (IdMarca, IdModelo, IdCombustible, IdEstilo, Ano, Descripcion) values (@param_Marca,@param_Modelo, @param_Combustible,@param_Estilo,@param_Anio, @param_Descripcion)"; MySqlCommand mycomand = new MySqlCommand(query, conn); mycomand.Parameters.AddWithValue("@param_Marca", _RepuestoNuevo.IdMarca); mycomand.Parameters.AddWithValue("@param_Modelo", _RepuestoNuevo.IdModelo); mycomand.Parameters.AddWithValue("@param_Estilo", _RepuestoNuevo.IdEstilo); mycomand.Parameters.AddWithValue("@param_Combustible", _RepuestoNuevo.IdCombustible); mycomand.Parameters.AddWithValue("@param_Anio", _RepuestoNuevo.Anio); mycomand.Parameters.AddWithValue("@param_Descripcion", _RepuestoNuevo.DescripcionVehiculo); myreader = mycomand.ExecuteReader(); banderaError = false; } catch (MySqlException ex) { banderaError = true; } return banderaError; }