示例#1
0
        internal Periodista BuscoSBAJA(string pnom)
        {
            SqlConnection _cnn          = new SqlConnection(Conexion.Cnn);
            Periodista    _unPeriodista = null;
            SqlCommand    _comando      = new SqlCommand("BuscarPeriodistasSBAJA", _cnn);

            _comando.CommandType = CommandType.StoredProcedure;
            _comando.Parameters.AddWithValue("@nom", pnom);
            try
            {
                _cnn.Open();
                SqlDataReader _lector = _comando.ExecuteReader();
                if (_lector.HasRows)
                {
                    _lector.Read();
                    string   nom    = (string)_lector["NomPeriodista"];
                    string   nacion = (string)_lector["Nacionalidad"];
                    DateTime fecha  = (DateTime)_lector["FechaNacimiento"];
                    _unPeriodista = new Periodista(nom, nacion, fecha, PersistenciaPremios.CargoPremiosPeriodista(pnom));
                }

                _lector.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _cnn.Close();
            }
            return(_unPeriodista);
        }
示例#2
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();
            }
        }
示例#3
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();
            }
        }
示例#4
0
        public List <Periodista> Listo()
        {
            SqlConnection _cnn = new SqlConnection(Conexion.Cnn);

            SqlCommand _comando = new SqlCommand("ListPeriodistas", _cnn);

            _comando.CommandType = CommandType.StoredProcedure;

            List <Periodista> _Lista = new List <Periodista>();
            Periodista        P      = null;

            try
            {
                _cnn.Open();


                SqlDataReader _lector = _comando.ExecuteReader();


                if (_lector.HasRows)
                {
                    while (_lector.Read())
                    {
                        string   nom    = (string)_lector["NomPeriodista"];
                        string   nacion = (string)_lector["Nacionalidad"];
                        DateTime fecha  = (DateTime)_lector["FechaNacimiento"];
                        P = new Periodista(nom, nacion, fecha, PersistenciaPremios.CargoPremiosPeriodista((string)_lector["NomPeriodista"]));
                        _Lista.Add(P);
                    }
                }

                _lector.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _cnn.Close();
            }


            return(_Lista);
        }