Recurso, Personal y Vehiculo
Estas ultimas dos heredan los datos de la clase recurso, las tengo definida de la siguiente manera:
RECURSO:
Código:
PERSONAL:public class recurso { bool nuevo = true; protected bool bHabilitado; protected string sCodigoBarra; protected int idEmpresa; //protected Imagen? protected string dFechaDesde; protected string dFechaHasta; protected string sObservaciones; public bool BHabilitado { get { return bHabilitado; } set { bHabilitado = value; } } // Propiedad del atributo Codigo de barra public string SCodigoBarra { get { return sCodigoBarra; } set { sCodigoBarra = value; } } // Propiedad del atributo Empresa public int IdEmpresa { get { return idEmpresa; } set { idEmpresa = value; } } // Propiedad del atributo Fecha desde public string DFechaDesde { get { return dFechaDesde; } set { dFechaDesde = value; } } // Propiedad del atributo Foto public string DFechaHasta { get { return dFechaHasta; } set { dFechaHasta = value; } } // Propiedad del atributo Observaciones public string SObservaciones { get { return sObservaciones; } set { sObservaciones = value; } } //Metodos de la CLASE!!!!! //Metodo para CARGAR public bool Existe(string Documento) { bool esta = true; CONEXION datoempleado = new CONEXION(); datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt"); datoempleado.Conectar(); string sql = "Select count (Dni) from Empleados where Dni = " + Documento;// con los ' no anda int valor = Convert.ToInt32(datoempleado.TraerValorSql(sql)); if (valor == 0) { esta = false; } return esta; } public void GuardarRecurso() { string sql = ""; CONEXION datorecurso = new CONEXION(); datorecurso.Stringconetion = datorecurso.CargarStringConnection("C:\\A.txt"); datorecurso.Conectar(); if (nuevo == false) { /*sql = ("update empleados set Apellido='" + apellido + "' , Nombre='" + nombre + "',Nacionalidad='" + nacionalidad + " ',Telefono=" + telefono + ",Direccion = '" + direccion + "', Localidad='" + localidad + "',Provincia='" + provincia + "',Sueldo=" + sueldo + ",Ocupacion='" + ocupacion + "' where DNI=" + dni); datoempleado.InsertarSQL(sql);*/ } else { sql = ("INSERT INTO [controlHabilitacion].[dbo].[recurso]([sCodigoBarra],[idEmpresa],[bHabilitado],[dFechaDesde],[dFechaHasta],[sObservaciones]) Values ('" + sCodigoBarra + "','" + idEmpresa + "','" + bHabilitado + "' ,'" + dFechaDesde + "','" + dFechaHasta + "','" + sObservaciones + "')"); sql += " Select @@identity "; datorecurso.InsertarSQL(sql); } } }
Código:
Y Vehiculo que tiene sus respectivos datos, el tema es que al momento de insertar un Recurso, tengo que tomar este ultimo ID insertardo, para seguir con el proceso e insertar los datos que le corresponden a personal, con su respectivo id. Se que esto se hace con una transaccion, donde pueda ejecutar las dos inserciones a la vez, y para poder obtener el ultimo ID, mi idea es desarrollar una funsion INSERT, que se use para transacciones, (GENERALIZADA) pero al no conocer estos comandos en C# y al no entender bien el proceso de transaccion, me gustaria acudir a la gente del foro, para que me de una mano para solucionar este problema. Si hay alguna otra manera bienvenida sea! agradezco su ayuda! y saludos!! public class personal:recurso { bool nuevo = false; protected string sCuil; protected string sDni; protected string sNombre; protected string sApellido; protected string dFechaNacimiento; protected string sFunsion; protected string sConvenio; protected int bDirecto; protected bool bHabilitadoParaConducir; /*public personal(string Cuil, string Dni, string Nombre, string Apellido,string FechaNacimiento,string Funsion,string Convenio,bool Directo,bool HabilitadoParaConducir,bool Habilitado,string CodigoBarra,int Empresa,string FechaDesde,string FechaHasta,string Observaciones):base(Habilitado,CodigoBarra,Empresa,FechaDesde,FechaHasta,Observaciones) { sCuil = Cuil; sDni = Dni; sNombre = Nombre; sApellido = Apellido; }*/ //Propiedad del atributo Cuil public string SCuil { get { return sCuil; } set { sCuil = value; } } //Propiedad del atributo Dni public string SDni { get { return sDni; } set { sDni = value; } } // Propiedad del atributo Nombre public string SNombre { get { return sNombre; } set { sNombre = value; } } // Propiedad del atributo Apellido public string SApellido { get { return sApellido; } set { sApellido = value; } } // Propiedad del atributo Fecha Nacimiento public string DFechaNacimiento { get { return dFechaNacimiento; } set { dFechaNacimiento = value; } } // Propiedad del atributo Funsion public string SFunsion { get { return sFunsion; } set { sFunsion = value; } } public string SConvenio { get { return sConvenio; } set { sConvenio = value;} } public int BDirecto { get { return bDirecto; } set { bDirecto = value; } } public bool BHabilitadoParaConducir { get { return bHabilitadoParaConducir; } set { bHabilitadoParaConducir = value; } } //Metodos de la CLASE!!!!! //Metodo para CARGAR public void Cargar(string Dni) { nuevo = false; CONEXION datoempleado = new CONEXION(); datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt"); datoempleado.Conectar(); DataTable dt = datoempleado.TraerDataTableSQL("select * from Empleados where DNI=" + Dni); CargarR(dt.Rows[0]); } internal void CargarR(DataRow Row) { /*dni = Row["Dni"].ToString(); nombre = Row["Nombre"].ToString(); apellido = Row["Apellido"].ToString(); nacionalidad = Row["Nacionalidad"].ToString(); telefono = Row["Telefono"].ToString(); Direccion = Row["Direccion"].ToString(); localidad = Row["Localidad"].ToString(); provincia = Row["Provincia"].ToString(); ocupacion = Row["Ocupacion"].ToString(); sueldo = Row["Sueldo"].ToString();*/ } public bool Existe(string Documento) { bool esta = true; CONEXION datoempleado = new CONEXION(); datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt"); datoempleado.Conectar(); string sql = "Select count (Dni) from Empleados where Dni = " + Documento;// con los ' no anda int valor = Convert.ToInt32(datoempleado.TraerValorSql(sql)); if (valor == 0) { esta = false; } return esta; } public void GuardarPersonal() { /*string sql = ""; CONEXION datoempleado = new CONEXION(); datoempleado.Stringconetion = datoempleado.CargarStringConnection("C:\\A.txt"); datoempleado.Conectar(); if (nuevo == false) { sql = ("update empleados set Apellido='" + apellido + "' , Nombre='" + nombre + "',Nacionalidad='" + nacionalidad + " ',Telefono=" + telefono + ",Direccion = '" + direccion + "', Localidad='" + localidad + "',Provincia='" + provincia + "',Sueldo=" + sueldo + ",Ocupacion='" + ocupacion + "' where DNI=" + dni); datoempleado.InsertarSQL(sql); } else { sql = ("INSERT INTO [Restaurante].[dbo].[Empleados]([DNI],[Apellido],[Nombre],[Nacionalidad],[Telefono],[Direccion],[Localidad],[Provincia],[Sueldo],[Ocupacion]) Values ('" + dni + "','" + apellido + "','" + nombre + "' ,'" + nacionalidad + "','" + telefono + "','" + direccion + "','" + localidad + "','" + provincia + "'," + sueldo + ",'" + ocupacion + "')"); sql += " Select @@identity "; datoempleado.InsertarSQL(sql); }*/ } }

