public void Modificar(Periodista P, Administrador adminBD) { SqlConnection _cnn = new SqlConnection("Data Source=.; Initial Catalog = Proyecto; User ID=" + adminBD.Usuario + "; Password="******"ModificarPeriodista", _cnn); _comando.CommandType = System.Data.CommandType.StoredProcedure; _comando.Parameters.AddWithValue("@Nom", P.NomPeriodista); _comando.Parameters.AddWithValue("@Nacionalidad", P.Nacionalidad); _comando.Parameters.AddWithValue("@FechaN", P.Fechanacimiento); SqlParameter _retorno = new SqlParameter("@Retorno", System.Data.SqlDbType.Int); _retorno.Direction = System.Data.ParameterDirection.ReturnValue; _comando.Parameters.Add(_retorno); SqlTransaction _miTransaccion = null; try { _cnn.Open(); _miTransaccion = _cnn.BeginTransaction(); _comando.Transaction = _miTransaccion; _comando.ExecuteNonQuery(); if ((int)_retorno.Value == -1) { throw new Exception("Periodista no existe"); } else if ((int)_retorno.Value == -2) { throw new Exception("Error en Modificacion del Periodista"); } PersistenciaPremios.EliminarPremiosPeriodista(P, _miTransaccion); foreach (string unPremio in P.ListaPremios) { PersistenciaPremios.Alta(unPremio, P.NomPeriodista, _miTransaccion); } _miTransaccion.Commit(); } catch (Exception ex) { _miTransaccion.Rollback(); throw ex; } finally { _cnn.Close(); } }
public void Alta(Periodista P, Administrador adminBD) { SqlConnection _cnn = new SqlConnection("Data Source=.; Initial Catalog = Proyecto; User ID=" + adminBD.Usuario + "; Password="******"AltaPeriodistas", _cnn); _comando.CommandType = System.Data.CommandType.StoredProcedure; _comando.Parameters.AddWithValue("@NomPeriodista", P.NomPeriodista); _comando.Parameters.AddWithValue("@Nacionalidad", P.Nacionalidad); _comando.Parameters.AddWithValue("@FechaNacimiento", P.Fechanacimiento); SqlParameter _ParmRetorno = new SqlParameter("@Retorno", SqlDbType.Int); _ParmRetorno.Direction = ParameterDirection.ReturnValue; _comando.Parameters.Add(_ParmRetorno); SqlTransaction _miTransaccion = null; try { _cnn.Open(); _miTransaccion = _cnn.BeginTransaction(); _comando.Transaction = _miTransaccion; _comando.ExecuteNonQuery(); int afectados = Convert.ToInt32(_ParmRetorno.Value); if (afectados == -1) { throw new Exception("Periodista ya existente"); } else if (afectados == -2) { throw new Exception("Error no especificado"); } foreach (string unpremio in P.ListaPremios) { PersistenciaPremios.Alta(unpremio, P.NomPeriodista, _miTransaccion); } _miTransaccion.Commit(); } catch (Exception ex) { _miTransaccion.Rollback(); throw new Exception(ex.Message); } finally { _cnn.Close(); } }