public void Guardar(PrestamoEditDto prestamoDto)
        {
            var listaDetalles = new List <DetallePrestamo>();

            foreach (var itemDto in prestamoDto.DetallePrestamo)//falta validar los datos del socio
            {
                var item = new DetallePrestamo()
                {
                    DetallePedidoId = itemDto.DetallePrestamoId,
                    Libro           = new Libro
                    {
                        LibroId = itemDto.Libro.LibroId,
                        Titulo  = itemDto.Libro.Titulo
                    },
                    //cantidad = itemDto.Cantidad
                    cantidad = 1
                };
                listaDetalles.Add(item);
            }

            var prestamo = new Prestamo
            {
                PrestamoId = prestamoDto.PrestamoId,
                Socio      = new Socio
                {
                    SocioId = prestamoDto.NombreSocio.SocioId,
                    NroDoc  = prestamoDto.NombreSocio.NroDoc
                },
                FechaPrestamo   = prestamoDto.FechaPrestamo,
                detallePrestamo = listaDetalles
            };

            _conexionBd = new ConexionBd();
            SqlTransaction tran = null;

            try
            {
                SqlConnection cn = _conexionBd.AbrirConexion();
                tran                = cn.BeginTransaction();//Comienza la transacción
                _repositorio        = new RepositorioPrestamos(cn, tran);
                _repositorioLibros  = new RepositorioLibros(cn, tran);
                _repositorioDetalle = new RepositorioDetallePrestamos(cn, tran);
                _repositorio.Guardar(prestamo);//sigue deberia irse a guardar

                foreach (var detallePrestamo in prestamo.detallePrestamo)
                {
                    detallePrestamo.Prestamo = prestamo;
                    _repositorioDetalle.Guardar(detallePrestamo);
                    _repositorioLibros.ActualizarPrestamos(detallePrestamo.Libro,
                                                           -detallePrestamo.cantidad);
                }
                tran.Commit();//persiste los datos
                prestamoDto.PrestamoId = prestamo.PrestamoId;
            }
            catch (Exception e)
            {
                tran.Rollback();
                throw new Exception(e.Message);
            }
        }
        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);
            }
        }
예제 #4
0
 public void Borrar(int libroId)
 {
     try
     {
         _conexionBd  = new ConexionBd();
         _repositorio = new RepositorioLibros(_conexionBd.AbrirConexion());
         _repositorio.Borrar(libroId);
         _conexionBd.CerrarConexion();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
예제 #5
0
 public List <LibroListDto> GetLista()
 {
     try
     {
         _conexionBd  = new ConexionBd();
         _repositorio = new RepositorioLibros(_conexionBd.AbrirConexion());
         var lista = _repositorio.GetLista();
         _conexionBd.CerrarConexion();
         return(lista);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
예제 #6
0
 public LibroEditDto GetLibroPorId(int libroId)
 {
     try
     {
         _conexionBd             = new ConexionBd();
         _repositorioPaises      = new RepositorioPaises(_conexionBd.AbrirConexion());
         _repositorioEditoriales = new RepositorioEditoriales(_conexionBd.AbrirConexion(), _repositorioPaises);//le deno pasar el repositorio de pais???
         _repositorioGenero      = new RepositorioGeneros(_conexionBd.AbrirConexion());
         _repositorioSubGenero   = new RepositorioSubGeneros(_conexionBd.AbrirConexion(), _repositorioGenero);
         _repositorioEstados     = new RepositorioEstados(_conexionBd.AbrirConexion());
         _repositorio            = new RepositorioLibros(_conexionBd.AbrirConexion(), _repositorioPaises, _repositorioEditoriales, _repositorioGenero, _repositorioSubGenero, _repositorioEstados);//VA EN ORDEN
         var libro = _repositorio.GetLibroPorId(libroId);
         _conexionBd.CerrarConexion();
         return(libro);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }