protected void BRegistrarMecánico_Click(object sender, EventArgs e) { int identificacion; int codigo; int experiencia; String nombre; String apellido; String titulo; try { identificacion = Convert.ToInt32(this.TBIdentificación.Text); } catch (Exception) { identificacion = -1; } try { codigo = Convert.ToInt32(this.TBCódigo.Text); } catch (Exception) { codigo = -1; } try { experiencia = Convert.ToInt32(this.TBExperiencia.Text); } catch (Exception) { experiencia = -1; } nombre = this.TBNombre.Text; apellido = this.TBApellidos.Text; titulo = this.TBTítulo.Text; Personas NPersona = new Personas(identificacion, nombre, apellido); Mecánico NMecanico = new Mecánico(-1, codigo, titulo, experiencia); String retorno = registroBLL.RegistrarMecanicos(NPersona, NMecanico); //Registrar telefonos y correos Teléfonos Telefono = new Teléfonos(identificacion); DataTable Info_Telefono = registroBLL.ConsultarTeléfonos(Telefono); Emails Email = new Emails(identificacion); DataTable Info_Email = registroBLL.ConsultarEmails(Email); if (Info_Telefono.Rows.Count == 0) { string[] phones = TBTeléfonos.Text.Split(Utilities.Separators, StringSplitOptions.RemoveEmptyEntries); foreach (string phone in phones) { Teléfonos telefono = new Teléfonos(identificacion, phone.Trim().ToString()); registroBLL.RegistrarTelefonos(telefono); } } if (Info_Email.Rows.Count == 0) { string[] emails = TBEmails.Text.Split(Utilities.Separators, StringSplitOptions.RemoveEmptyEntries); foreach (string email in emails) { Emails correo = new Emails(identificacion, email.Trim().ToString()); registroBLL.RegistrarEmails(correo); } } BRegistrarMecánico.Enabled = false; }
public String RegistrarMecanicos(Personas DatosP, Mecánico DatosM) { try { return this.Registros.RegistrarPersMec(DatosP, DatosM); } catch (Exception ex) { throw new Exception(ex.Message); } }
//Funcion para registrar Personas-Mecanicos public String RegistrarPersMec(Personas DatosP, Mecánico DatosM) { DataTable Existe = Consultas.ConsultarPersonas(DatosP); int persona = 0; if (Existe.Rows.Count != 0) persona = Convert.ToInt32(Existe.Rows[0]["id_persona"].ToString()); Database db = DatabaseFactory.CreateDatabase("Desarrollo"); string sqlCommand = "dbo.[insertar_personas]"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); using (DbConnection conn = db.CreateConnection()) // conexion para la transaccion { conn.Open(); //abrimos la conexion DbTransaction tranRegistro = conn.BeginTransaction(); //iniciamos la transaccion if (persona < 1) { try { db.AddInParameter(dbCommand, "@INTidentificacion", DbType.Int32, Utilerías.ObtenerValor(DatosP.Identificación)); db.AddInParameter(dbCommand, "@STRnombre", DbType.String, Utilerías.ObtenerValor(DatosP.Nombre)); db.AddInParameter(dbCommand, "@STRapellido", DbType.String, Utilerías.ObtenerValor(DatosP.Apellidos)); db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2); db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250); db.AddOutParameter(dbCommand, "@INTid", DbType.Int32, 4); db.ExecuteNonQuery(dbCommand, tranRegistro); if (int.Parse(db.GetParameterValue(dbCommand, "@nStatus").ToString()) > 0) throw new Exception(db.GetParameterValue(dbCommand, "@strMessage").ToString()); // Se registra la informacion del auto, un vez ingresados los datos personales DatosM.Persona = int.Parse(db.GetParameterValue(dbCommand, "@INTid").ToString()); RegistrarMecanicos(DatosM, tranRegistro, db); tranRegistro.Commit(); } catch (Exception ex) { tranRegistro.Rollback(); throw new Exception(ex.Message); } } else { DatosM.Persona = persona; RegistrarMecanicos(DatosM, tranRegistro, db); tranRegistro.Commit(); } try { } finally { conn.Close(); // cerrar la conexion } } return "Se registraron los datos del auto correctamente"; }
//Funcion para registrar Mecanicos public void RegistrarMecanicos(Mecánico DatosM, DbTransaction tran, Database db) { string sqlCommand = "dbo.insertar_mecanicos"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); try { db.AddInParameter(dbCommand, "@INTpersona", DbType.Int32, Utilerías.ObtenerValor(DatosM.Persona)); db.AddInParameter(dbCommand, "@STRtitulo", DbType.String, Utilerías.ObtenerValor(DatosM.Título)); db.AddInParameter(dbCommand, "@INTcodigo", DbType.Int32, Utilerías.ObtenerValor(DatosM.Código)); db.AddInParameter(dbCommand, "@INTexperiencia", DbType.Int32, Utilerías.ObtenerValor(DatosM.Experiencia)); db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2); db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250); db.ExecuteNonQuery(dbCommand, tran); if (int.Parse(db.GetParameterValue(dbCommand, "@nStatus").ToString()) > 0) throw new Exception(db.GetParameterValue(dbCommand, "@strMessage").ToString()); } catch (Exception ex) { throw new Exception(ex.Message); } }