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 List <PrestamoListDto> GetLista() { try { _conexionBd = new ConexionBd(); _repositorioDetalle = new RepositorioDetallePrestamos(_conexionBd.AbrirConexion()); _repositorio = new RepositorioPrestamos(_conexionBd.AbrirConexion(), _repositorioDetalle); var lista = _repositorio.GetLista(); _conexionBd.CerrarConexion(); return(lista); } catch (Exception e) { throw new Exception(e.Message); } }