public async Task <ActionResult <LibroView> > PostLibroView(LibroView libroView)
        {
            _context.LibroView.Add(libroView);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetLibroView", new { id = libroView.IdLibro }, libroView));
        }
        public async Task <IActionResult> PutLibroView(int id, LibroView libroView)
        {
            if (id != libroView.IdLibro)
            {
                return(BadRequest());
            }

            _context.Entry(libroView).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LibroViewExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Metodo retorna libro por Id
        /// </summary>
        /// <returns></returns>
        public LibroView GetLibroById(int id)
        {
            var libro = _db.libro
                        .SingleOrDefault(r => r.Codigo == id);

            if (libro == null)
            {
                return(null);
            }
            var rate = _db.calificacion
                       .Where(r => r.LibroCodigo == libro.Codigo).ToList();
            decimal calif = (rate.Count > 0)
                ? Convert.ToDecimal(rate.Sum(r => r.Rate)) / rate.Count
                : 0;

            calif = Convert.ToDecimal(calif.ToString("0.##"));
            var view = new LibroView
            {
                Codigo       = libro.Codigo,
                Titulo       = libro.Titulo,
                Descripcion  = libro.Descripcion,
                Fecha_p      = libro.Fecha_p,
                Autor        = libro.Autor,
                Rate_Average = calif
            };

            return(view);
        }
Ejemplo n.º 4
0
        public async Task ActualizarLibro(LibroView libro, CancellationToken token)
        {
            var libroJson = new StringContent(JsonSerializer.Serialize(libro), Encoding.UTF8, "application/json");

            if (libro.OID > 0)
            {
                await _httpClient.PutAsync("api/libro/UpdateLibro", libroJson);
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> UpdateLibroAsync([FromBody] LibroView libro)
        {
            if (libro == null)
            {
                return(BadRequest());
            }
            if (libro.OID <= 0)
            {
                ModelState.AddModelError("OID", "No tiene la identificación OID");
            }
            var libroModel = await _uow.GetObjectByKeyAsync <Libro>(libro.OID);

            if (libroModel == null)
            {
                ModelState.AddModelError("Libro", "No existe el libro en la base de datos");
            }

            if (libro.Editorial != null)
            {
                var edit = await _uow.GetObjectByKeyAsync <Editorial>(libro.Editorial.OID);

                if (edit == null)
                {
                    ModelState.AddModelError("Editorial", "No existe el editorial en la base de datos");
                }
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            libroModel.Título        = libro.Titulo;
            libroModel.ISBN          = libro.ISBN;
            libroModel.NumeroPaginas = libro.NumeroPaginas;
            libroModel.Editorial     = libro.Editorial != null ? await _uow.GetObjectByKeyAsync <Editorial>(libro.Editorial.OID) : null;

            libroModel.Sinopsis = libro.Sinopsis;

            await _uow.CommitChangesAsync();

            return(NoContent());
        }
Ejemplo n.º 6
0
        private void btnLibro_Click(object sender, EventArgs e)
        {
            LibroView libroView = new LibroView();

            libroView.Show();
        }