예제 #1
0
        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();
            }
        }
예제 #2
0
        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();
            }
        }