コード例 #1
0
        protected void Update(Usuario usuario, Persona persona)
        {
            PersonaAdapter personaData = new PersonaAdapter();

            try
            {
                OpenConnection();
                SqlTransaction transaction = SqlConn.BeginTransaction();
                SqlCommand     cmdUpdate;
                try
                {
                    cmdUpdate = new SqlCommand(
                        "UPDATE personas SET nombre=@nombre, apellido=@apellido, direccion=@direccion, email=@email, " +
                        "telefono=@telefono, fecha_nac=@fecha_nac, legajo=@legajo, tipo_persona=@tipo_persona, id_plan=@id_plan " +
                        "WHERE id_persona=@id",
                        SqlConn, transaction);
                    cmdUpdate.Parameters.Add("@id", SqlDbType.Int).Value = persona.ID;
                    personaData.CargarParametrosSql(cmdUpdate, persona);
                    cmdUpdate.ExecuteNonQuery();

                    cmdUpdate = new SqlCommand(
                        "UPDATE usuarios SET nombre_usuario=@nombre_usuario, clave=@clave, habilitado=@habilitado, " +
                        "nombre=@nombre, apellido=@apellido, email=@email, id_persona=@id_persona " +
                        "WHERE id_usuario=@id",
                        SqlConn, transaction);
                    cmdUpdate.Parameters.Add("@id", SqlDbType.Int).Value = usuario.ID;
                    CargarParametrosSql(cmdUpdate, usuario);
                    cmdUpdate.ExecuteNonQuery();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    Exception ExcepcionManejada = new Exception("Error al actualizar usuario y persona", ex);
                    throw ExcepcionManejada;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                CloseConnection();
            }
        }
コード例 #2
0
        protected void Insert(Usuario usuario, Persona persona)
        {
            PersonaAdapter personaData = new PersonaAdapter();

            try
            {
                OpenConnection();
                SqlTransaction transaction = SqlConn.BeginTransaction();
                SqlCommand     cmdInsert;
                try
                {
                    cmdInsert = new SqlCommand(
                        "INSERT INTO personas(nombre, apellido, direccion, email, telefono, fecha_nac, legajo, tipo_persona, id_plan)" +
                        "VALUES (@nombre, @apellido, @direccion, @email, @telefono, @fecha_nac, @legajo, @tipo_persona, @id_plan)" +
                        "SELECT @@identity",
                        SqlConn, transaction);
                    personaData.CargarParametrosSql(cmdInsert, persona);
                    persona.ID        = decimal.ToInt32((decimal)cmdInsert.ExecuteScalar());
                    usuario.IdPersona = persona.ID;

                    cmdInsert = new SqlCommand(
                        "INSERT INTO usuarios(nombre_usuario, clave, habilitado, nombre, apellido, email, id_persona)" +
                        "VALUES (@nombre_usuario, @clave, @habilitado, @nombre, @apellido, @email, @id_persona)" +
                        "SELECT @@identity",
                        SqlConn, transaction);
                    CargarParametrosSql(cmdInsert, usuario);
                    usuario.ID = decimal.ToInt32((decimal)cmdInsert.ExecuteScalar());

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    Exception ExcepcionManejada = new Exception("Error al insertar usuario y persona", ex);
                    throw ExcepcionManejada;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                CloseConnection();
            }
        }