public LibroEditDto GetLibroPorId(int libroId)
        {
            LibroEditDto libro = null;

            try
            {
                string cadenaComando = "SELECT LibroId, Titulo, ISBN, EditorialId, GeneroId, " +
                                       "SubGeneroId, FechaIncorporacion, EstadoId, Observaciones, Disponible, Stock " +
                                       "FROM Libros WHERE LibroId=@id";
                SqlCommand comando = new SqlCommand(cadenaComando, _sqlConnection);
                comando.Parameters.AddWithValue("@id", libroId);
                SqlDataReader reader = comando.ExecuteReader();
                if (reader.HasRows)
                {
                    reader.Read();
                    libro = ConstruirLibroEditDto(reader);
                }
                reader.Close();
                return(libro);
            }
            catch (Exception)
            {
                throw new Exception("Error al intentar leer el libro");
            }
        }
        public bool Existe(LibroEditDto libroEditDto)
        {
            try
            {
                _conexionBd  = new ConexionBd();
                _repositorio = new RepositorioLibros(_conexionBd.AbrirConexion());
                Libro libro = new Libro
                {
                    LibroId = libroEditDto.LibroId,
                    Titulo  = libroEditDto.Titulo,
                    ISBN    = libroEditDto.ISBN,

                    Editorial = new Editorial()
                    {
                        EditorialId     = libroEditDto.Editorial.EditorialId,
                        NombreEditorial = libroEditDto.Editorial.NombreEditorial,
                        Pais            = new Pais()
                        {
                            //PaisId=libroEditDto.Editorial.Pais.PaisId,
                            //NombrePais = libroEditDto.Editorial.Pais.NombrePais

                            PaisId     = libroEditDto.Editorial.EditorialId,//aca no le tendria que pasar un paisId??, pero me da error
                            NombrePais = libroEditDto.Editorial.NombrePais
                        }
                    },
                    Genero = new Genero()
                    {
                        GeneroId    = libroEditDto.Genero.GeneroId,
                        Descripcion = libroEditDto.Genero.Descripcion
                    },

                    SubGenero = new SubGenero()
                    {
                        SubGeneroId     = libroEditDto.SubGenero.SubGeneroId,
                        NombreSubGenero = libroEditDto.SubGenero.NombreSubGenero,
                        genero          = new Genero()
                        {
                            GeneroId    = libroEditDto.Genero.GeneroId,
                            Descripcion = libroEditDto.Genero.Descripcion
                        }
                    },
                    FechaIncorporacion = libroEditDto.FechaIncorporacion,
                    Estado             = new Estado()
                    {
                        EstadoId    = libroEditDto.Estado.EstadoId,
                        Descripcion = libroEditDto.Estado.Descripcion
                    },
                    Observaciones = libroEditDto.Observaciones,
                    Disponible    = libroEditDto.Disponible
                };

                var existe = _repositorio.Existe(libro);
                _conexionBd.CerrarConexion();
                return(existe);
            }
            catch (Exception)
            {
                throw new Exception("Error al intentar ver si existe la ciudad");
            }
        }
        public void Guardar(LibroEditDto libroEditDto)
        {
            try
            {
                _conexionBd  = new ConexionBd();
                _repositorio = new RepositorioLibros(_conexionBd.AbrirConexion());
                Libro libro = new Libro
                {
                    LibroId = libroEditDto.LibroId,
                    Titulo  = libroEditDto.Titulo,
                    ISBN    = libroEditDto.ISBN,

                    Editorial = new Editorial()
                    {
                        EditorialId     = libroEditDto.Editorial.EditorialId,
                        NombreEditorial = libroEditDto.Editorial.NombreEditorial,
                        Pais            = new Pais()
                        {
                            //PaisId = libroEditDto.Editorial.Pais.PaisId,
                            //NombrePais = libroEditDto.Editorial.Pais.NombrePais
                            PaisId     = libroEditDto.Editorial.EditorialId,//aca no le tendria que pasar un paisId??, pero me da error
                            NombrePais = libroEditDto.Editorial.NombrePais
                        }
                    },
                    Genero = new Genero()
                    {
                        GeneroId    = libroEditDto.Genero.GeneroId,
                        Descripcion = libroEditDto.Genero.Descripcion
                    },

                    SubGenero = new SubGenero()
                    {
                        SubGeneroId     = libroEditDto.SubGenero.SubGeneroId,
                        NombreSubGenero = libroEditDto.SubGenero.NombreSubGenero,
                        genero          = new Genero()
                        {
                            GeneroId    = libroEditDto.Genero.GeneroId,
                            Descripcion = libroEditDto.Genero.Descripcion
                        }
                    },
                    FechaIncorporacion = libroEditDto.FechaIncorporacion,
                    Estado             = new Estado()
                    {
                        EstadoId    = libroEditDto.Estado.EstadoId,
                        Descripcion = libroEditDto.Estado.Descripcion
                    },
                    Observaciones = libroEditDto.Observaciones,
                    Disponible    = libroEditDto.Disponible
                };

                _repositorio.Guardar(libro);

                libroEditDto.LibroId = libro.LibroId;
                _conexionBd.CerrarConexion();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        private void EditarMetroButton_Click(object sender, EventArgs e)
        {
            if (LibroMetroGrid.SelectedRows.Count == 0)
            {
                return;
            }

            DataGridViewRow r                    = LibroMetroGrid.SelectedRows[0];
            LibroListDto    libroListDto         = (LibroListDto)r.Tag;
            LibroListDto    libroListDtoAuxiliar = (LibroListDto)libroListDto.Clone();
            LibroAEForm     frm                  = new LibroAEForm();
            LibroEditDto    libroEditDto         = _servicio.GetLibroPorId(libroListDto.LibroId);

            frm.Text = "Editar Libro";
            frm.SetLibro(libroEditDto);
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.Cancel)
            {
                return;
            }

            try
            {
                libroEditDto = frm.GetLibro();
                //Controlar repitencia

                if (!_servicio.Existe(libroEditDto))
                {
                    _servicio.Guardar(libroEditDto);

                    libroEditDto.LibroId            = libroEditDto.LibroId;
                    libroListDto.Titulo             = libroEditDto.Titulo;
                    libroListDto.ISBN               = libroEditDto.ISBN;
                    libroListDto.Editorial          = libroEditDto.Editorial.NombreEditorial;
                    libroListDto.NombreGenero       = libroEditDto.Genero.Descripcion;
                    libroListDto.NombreSubGenero    = libroEditDto.SubGenero.NombreSubGenero;
                    libroListDto.FechaIncorporacion = libroEditDto.FechaIncorporacion;
                    libroListDto.DescripcionEstado  = libroEditDto.Estado.Descripcion;
                    libroListDto.Observaciones      = libroEditDto.Observaciones;
                    libroListDto.Disponible         = libroEditDto.Disponible;
                    libroListDto.Stock              = libroEditDto.Stock;
                    SetearFila(r, libroListDto);
                    MessageBox.Show("Registro Editado", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    SetearFila(r, libroListDtoAuxiliar);
                    MessageBox.Show("Registro ya existente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception exception)
            {
                SetearFila(r, libroListDtoAuxiliar);

                MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void NuevoMetroButton_Click(object sender, EventArgs e)
        {
            LibroAEForm frm = new LibroAEForm();

            frm.Text = "Agregar Libro";
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.Cancel)
            {
                return;
            }
            try
            {
                LibroEditDto libroEditDto = frm.GetLibro();
                // controlar repetidos
                if (_servicio.Existe(libroEditDto))
                {
                    MessageBox.Show("Registro Repetido", "Mensaje", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }
                //si no esta repedido lo guardamos

                _servicio.Guardar(libroEditDto);
                DataGridViewRow r            = ConstruirFila();
                LibroListDto    libroListDto = new LibroListDto//mapeo
                {
                    LibroId            = libroEditDto.LibroId,
                    Titulo             = libroEditDto.Titulo,
                    ISBN               = libroEditDto.ISBN,
                    Editorial          = libroEditDto.Editorial.NombreEditorial,
                    NombreGenero       = libroEditDto.Genero.Descripcion,
                    NombreSubGenero    = libroEditDto.SubGenero.NombreSubGenero,
                    FechaIncorporacion = libroEditDto.FechaIncorporacion,
                    DescripcionEstado  = libroEditDto.Estado.Descripcion,
                    Observaciones      = libroEditDto.Observaciones,
                    Disponible         = libroEditDto.Disponible,
                    Stock              = libroEditDto.Stock
                };

                SetearFila(r, libroListDto);
                AgregarFila(r);
                MessageBox.Show("Registro Agregado", "Mensaje", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
        }
        private LibroEditDto ConstruirLibroEditDto(SqlDataReader reader)
        {
            var libro = new LibroEditDto();

            libro.LibroId = reader.GetInt32(0);
            libro.Titulo  = reader.GetString(1);
            libro.ISBN    = reader.GetString(2);
            var EditorialEditDto = _repositorioEditoriales.GetEditorialPorId(reader.GetInt32(3));

            libro.Editorial = new EditorialListDto
            {
                EditorialId     = EditorialEditDto.EditorialId,
                NombreEditorial = EditorialEditDto.NombreEditorial,
                NombrePais      = EditorialEditDto.Pais.NombrePais
            };
            var generoEditDto = _repositorioGenero.GetGeneroPorId(reader.GetInt32(4));

            libro.Genero = new GeneroListDto
            {
                GeneroId    = generoEditDto.GeneroId,
                Descripcion = generoEditDto.Descripcion
            };
            var subGeneroEditDto = _repositorioSubGenero.GetSubGeneroPorId(reader.GetInt32(5));

            libro.SubGenero = new SubGeneroListDto
            {
                SubGeneroId     = subGeneroEditDto.SubGeneroId,
                NombreSubGenero = subGeneroEditDto.NombreSubGenero,
                NombreGenero    = subGeneroEditDto.Genero.Descripcion,
            };
            libro.FechaIncorporacion = reader.GetDateTime(6);
            var estadoEditDto = _repositorioEstados.GetEstadoPorId(reader.GetInt32(7));

            libro.Estado = new EstadoListDto
            {
                EstadoId    = estadoEditDto.EstadoId,
                Descripcion = estadoEditDto.Descripcion
            };
            libro.Observaciones = reader[8] != DBNull.Value ? reader.GetString(8) : string.Empty;

            libro.Disponible = reader.GetBoolean(9);// boleanoooo check

            libro.Stock = reader.GetInt32(10);

            return(libro);
        }
Пример #7
0
        private void OKMetroButton_Click(object sender, EventArgs e)
        {
            if (ValidarDatos())
            {
                if (libroEditDto == null)
                {
                    libroEditDto = new LibroEditDto();
                }

                libroEditDto.Titulo             = TituloMetroTextBox.Text;
                libroEditDto.ISBN               = ISBNMetroTextBox.Text;
                libroEditDto.Editorial          = (EditorialListDto)EditorialMetroComboBox.SelectedItem;
                libroEditDto.Genero             = (GeneroListDto)GeneroMetroComboBox.SelectedItem;
                libroEditDto.SubGenero          = (SubGeneroListDto)SubGeneroMetroComboBox.SelectedItem;
                libroEditDto.Estado             = (EstadoListDto)EstadoLibroMetroComboBox.SelectedItem;
                libroEditDto.FechaIncorporacion = FechaIncorporacionMetroDateTime.Value;
                libroEditDto.Observaciones      = ObservacionestextBox.Text;
                libroEditDto.Disponible         = DisponibleMetroCheckBox.Checked;


                DialogResult = DialogResult.OK;
            }
        }
Пример #8
0
 public void SetLibro(LibroEditDto libroEditDto)
 {
     this.libroEditDto = libroEditDto;
 }