Example #1
0
        public async Task <IActionResult> Create([Bind("ISBN,Portada,Titulo,Contenido,Descripcion,AutorId,GeneroId,EditorialId")] LibroViewModel l)
        {
            if (l.Portada == null)
            {
                ModelState.AddModelError("Contenido", "Debe seleccionar un libro para subir");
            }
            if (ModelState.IsValid && !isbnUnico(l.ISBN))
            {
                string stringFileNamePortada   = this.UploadFile(l.Portada, "Images");
                string stringFileNameContenido = this.UploadFile(l.Contenido, "Libros");
                var    libro = new Libro

                {
                    ISBN                = l.ISBN,
                    Portada             = stringFileNamePortada,
                    Titulo              = l.Titulo,
                    Contenido           = stringFileNameContenido,
                    Descripcion         = l.Descripcion,
                    AutorId             = l.AutorId,
                    EditorialId         = l.EditorialId,
                    GeneroId            = l.GeneroId,
                    EstadoCompleto      = true,
                    CantidadComentarios = 0
                };

                _context.Add(libro);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AutorId"]     = new SelectList(_context.Autores, "Id", "Nombre", l.AutorId);
            ViewData["EditorialId"] = new SelectList(_context.Editoriales, "Id", "Nombre", l.EditorialId);
            ViewData["GeneroId"]    = new SelectList(_context.Generos, "Id", "Nombre", l.GeneroId);
            return(View(l));
        }
Example #2
0
        // GET: Libro
        public ActionResult Listar()
        {
            LibroViewModel lvm = new LibroViewModel();

            lvm.lista = LibroService.findAll();
            return(View(lvm));
        }
Example #3
0
        public IActionResult Create()
        {
            UserTokenModel userToken = JsonConvert.DeserializeObject <UserTokenModel>(HttpContext.Session.GetString("userToken"));

            var lstGeneroModel        = servicioLibro.GetGeneros();
            List <SelectListItem> lst = new List <SelectListItem>();

            foreach (var genero in lstGeneroModel.Result)
            {
                lst.Add(new SelectListItem()
                {
                    Text = genero.Nombre, Value = genero.Id.ToString()
                });
            }

            LibroViewModel libroViewModel = new LibroViewModel
            {
                Libro       = new LibroModel(),
                ListGeneros = lst//(IEnumerable<SelectListItem>)servicioLibro.GetGeneros().Result
            };

            libroViewModel.Libro.UsuarioID = userToken.UsuarioId;

            return(View(libroViewModel));
        }
Example #4
0
        public ActionResult Save(LibroViewModel model)
        {
            ActionResult resultado = null;

            try {
                if (model.Libro.CodLibro > -1)  // UPDATE
                {
                    try {
                        lS.update(model.Libro);
                        resultado = RedirectToAction("Index");
                    } catch (Exception ex) {
                        ViewBag.infoController = MyResources.LibroResources.ErrorEditar + ex.Message;
                        resultado = RedirectToAction("Index");
                    }
                }
                else    // CREATE
                {
                    try {
                        lS.create(model.Libro);

                        resultado = RedirectToAction("Index");
                    } catch (Exception ex) {
                        ViewBag.ErrorMessage = MyResources.LibroResources.ErrorCrear + ex.Message;
                        resultado            = RedirectToAction("Index");
                    }
                }
            } catch (Exception ex) {
                ViewBag.ErrorMessage = MyResources.LibroResources.ErrorVistaDetalle + ex.Message;
                resultado            = RedirectToAction("Index");
            }
            return(resultado);
        }
Example #5
0
        public ActionResult <bool> PutLibro(int id, LibroViewModel libro)
        {
            if (id != libro.Id)
            {
                return(BadRequest());
            }

            Libro objUpd = _context.Libros.Find(id);

            if (objUpd != null)
            {
                objUpd.Titulo         = libro.Titulo;
                objUpd.Autor          = libro.Autor;
                objUpd.Editorial      = _context.Editoriales.Find(libro.EditorialId);
                objUpd.Costo          = libro.Costo;
                objUpd.PrecioSugerido = libro.PrecioSugerido;
                objUpd.Fecha          = libro.Fecha.ToUniversalTime();
                //La fecha se guarda en tiempo universal
                //para recuperarla en la hora local de donde esté el usuario
            }
            else
            {
                return(Ok(false));
            }

            try
            {
                _context.SaveChanges();
                return(Ok(true));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #6
0
        public ActionResult <bool> PostLibro(LibroViewModel libro)
        {
            try
            {
                //La fecha se guarda en tiempo universal
                //para recuperarla en la hora local de donde esté el usuario
                Libro lib = new Libro()
                {
                    Titulo         = libro.Titulo,
                    Autor          = libro.Autor,
                    Editorial      = _context.Editoriales.Find(libro.EditorialId),
                    Fecha          = libro.Fecha.ToUniversalTime(),
                    Costo          = libro.Costo,
                    PrecioSugerido = libro.PrecioSugerido,
                };

                _context.Libros.Add(lib);
                _context.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #7
0
 public static void add(LibroViewModel lvm)
 {
     using (var ctx = new BibliotecaContext())
     {
         ctx.Libros.Add(mapper(lvm));
         ctx.SaveChanges();
     }
 }
Example #8
0
        public static LibroViewModel mapper(Libro l)
        {
            LibroViewModel lvm = null;

            if (l != null)
            {
                lvm = new LibroViewModel(l.LibroID, l.titulo, l.autor, l.isbn, l.genero, l.cantEjemplares);
            }
            return(lvm);
        }
Example #9
0
        public static Libro mapper(LibroViewModel lvm)
        {
            Libro l = null;

            if (lvm != null)
            {
                l = new Libro(lvm.LibroId, lvm.titulo, lvm.autor, lvm.isbn, lvm.genero, lvm.cantEjemplares);
            }
            return(l);
        }
Example #10
0
        //LLEVA A LIBRO
        public ActionResult Libro(int codLibro)
        {
            LibroViewModel lvm = new LibroViewModel();

            lvm.libro      = lS.getById(codLibro);
            lvm.ejemplares = eS.getEjemplaresByLibro(codLibro);
            // return RedirectToRoute("Libro/Libro",lvm);
            ViewBag.Title = MyResources.LibroResources.ElementoTituloPagina + " - " + lvm.libro.Titulo;
            return(View("~/Views/Libro/Libro.cshtml", lvm));
        }
Example #11
0
        public ActionResult libro_user(int id)
        {
            LibroViewModel lib = null;

            SessionInitialize();
            LibroEN libEN = new LibroCAD(session).ReadOIDDefault(id);

            lib = new LibroAssembler().ConvertENToModelUI(libEN);
            SessionClose();
            return(View(lib));
        }
Example #12
0
 public async Task <Libro> ToLibroAsync(LibroViewModel model, bool isNew)
 {
     return(new Libro
     {
         Titulo = model.Titulo,
         Sinopsis = model.Sinopsis,
         Paginas = model.Paginas,
         Id = isNew ? 0 : model.Id,
         Autor = await _dataContext.Autors.FindAsync(model.AutorId),
         ImagenLibros = isNew ? new List <ImagenLibro>() : model.ImagenLibros,
         Editorial = await _dataContext.Editorials.FindAsync(model.EditorialId),
     });
 }
        public ActionResult Edit([Bind(Include = "Id, ISBN, Nombre, Categoria, Autor, Unidades, Precio")] LibroViewModel libro)
        {
            try
            {
                _lrepo.Update(libro);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #14
0
        // GET: Libro/Edit/5
        public ActionResult Edit(int id)
        {
            LibroViewModel lib = null; // inicializamos el objeto a NULL


            SessionInitialize();

            LibroEN libEN = new LibroCAD(session).ReadOIDDefault(id);

            lib = new LibroAssembler().ConvertENToModelUI(libEN);

            SessionClose();
            return(View(lib));
        }
Example #15
0
        public async Task <IActionResult> EditLibro(LibroViewModel model)
        {
            if (ModelState.IsValid)
            {
                var libro = await _coverterHelper.ToLibroAsync(model, false);

                _dataContext.Libros.Update(libro);
                await _dataContext.SaveChangesAsync();

                return(RedirectToAction($"Details/{model.AutorId}"));
            }

            return(View(model));
        }
Example #16
0
 public ActionResult Edit(LibroViewModel lib)
 {
     try
     {
         // TODO: Add update logic here
         LibroCEN libCEN = new LibroCEN();
         libCEN.Modify(lib.libroID, lib.nombre, lib.genero, lib.fechapubli, lib.idioma, lib.portada, lib.puntuacion, lib.elacecompra, lib.paginas, lib.precio, lib.compras);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Example #17
0
        public async Task <IActionResult> Create(LibroViewModel libroViewModel)
        {
            bool result = false;

            if (ModelState.IsValid)
            {
                var    libro            = HttpContext.Request.Form.Files;
                string rutaPrincipal    = _hostingEnviroment.WebRootPath;
                string nombreArchivo    = Guid.NewGuid().ToString();
                string repostorioLibros = Path.Combine(rutaPrincipal, @"Libros");
                string extension        = Path.GetExtension(libro[0].FileName);

                using (var fileStreams = new FileStream(Path.Combine(repostorioLibros, nombreArchivo + extension), FileMode.Create))
                {
                    libro[0].CopyTo(fileStreams);
                }

                libroViewModel.Libro.Ruta = @"\Libros\" + nombreArchivo + extension;
                result = servicioLibro.InsertarLibro(libroViewModel.Libro);
            }

            if (result)
            {
                return(RedirectToAction(nameof(Index)));
            }

            UserTokenModel        userToken      = JsonConvert.DeserializeObject <UserTokenModel>(HttpContext.Session.GetString("userToken"));
            var                   lstGeneroModel = servicioLibro.GetGeneros();
            List <SelectListItem> lst            = new List <SelectListItem>();

            foreach (var genero in lstGeneroModel.Result)
            {
                lst.Add(new SelectListItem()
                {
                    Text = genero.Nombre, Value = genero.Id.ToString()
                });
            }

            libroViewModel = new LibroViewModel
            {
                Libro       = new LibroModel(),
                ListGeneros = lst//(IEnumerable<SelectListItem>)servicioLibro.GetGeneros().Result
            };

            libroViewModel.Libro.UsuarioID = userToken.UsuarioId;
            ViewBag.message = "Ha ocurrido un error inesperado y el libro no pudo ser agregado";

            return(View(libroViewModel));
        }
Example #18
0
        public async Task <IActionResult> AddLibro(LibroViewModel model)
        {
            if (ModelState.IsValid)
            {
                var libro = await _coverterHelper.ToLibroAsync(model, true);

                _dataContext.Libros.Add(libro);
                await _dataContext.SaveChangesAsync();

                return(RedirectToAction($"Details/{model.AutorId}"));
            }

            model.Editorials = _combosHelper.GetComboEditorials();
            return(View(model));
        }
Example #19
0
        public ActionResult Create(LibroViewModel lib)
        {
            try
            {
                LibroCEN libCEN = new LibroCEN();
                libCEN.PublicarLibro(lib.nombre, lib.genero, lib.fechapubli, lib.portada, lib.idioma, lib.puntuacion, lib.elacecompra, lib.paginas, lib.precio, lib.creador, lib.compras, lib.idautor);


                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Delete([Bind(Include = "Id, ISBN, Nombre, Categoria, Autor, Unidades, Precio")] LibroViewModel libro)
        {
            try
            {
                _lrepo.Delete(libro);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;

                return(View());
            }
        }
Example #21
0
        public ActionResult Create([Bind(Include = "Id, Unidades, Descripcion, ClienteId, LibroId")] OrdenViewModel orden)
        {
            ViewBag.ClienteId = new SelectList(_crepo.GetAll(), "Id", "NombreCompleto");
            ViewBag.LibroId   = new SelectList(_lrepo.GetAll(), "Id", "NombreYUnidades");

            try
            {
                if (ModelState.IsValid)
                {
                    var db = new LibrosContext();

                    var libro = db.Libros.Find(orden.LibroId);

                    if (orden.Unidades <= libro.Unidades)
                    {
                        var libroModel = new LibroViewModel
                        {
                            Id        = libro.Id,
                            ISBN      = libro.ISBN,
                            Nombre    = libro.Nombre,
                            Categoria = libro.Categoria,
                            Unidades  = libro.Unidades - orden.Unidades,
                            Precio    = libro.Precio,
                            Autor     = libro.Autor,
                        };

                        _orepo.Create(orden);

                        _lrepo.Update(libroModel);

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ViewBag.Error = "Ingresó más unidades de las que habían en el inventario.";
                        return(View(orden));
                    }
                }
                else
                {
                    return(View(orden));
                }
            }
            catch
            {
                return(View());
            }
        }
Example #22
0
 public static void update(LibroViewModel lvm)
 {
     using (var ctx = new BibliotecaContext())
     {
         Libro l = ctx.Libros.SingleOrDefault(b => b.LibroID == lvm.LibroId);
         if (l != null)
         {
             l.titulo         = lvm.titulo;
             l.autor          = lvm.titulo;
             l.isbn           = lvm.isbn;
             l.genero         = lvm.genero;
             l.cantEjemplares = lvm.cantEjemplares;
             ctx.SaveChanges();
         }
     }
 }
Example #23
0
 private void BtnAgregar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         AgregarLibrosView al = new AgregarLibrosView();
         LibroViewModel    l  = new LibroViewModel();
         l.Cerrar       = al.Close;
         al.DataContext = l;
         al.ShowDialog();
         ll.Cargar();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
 public ActionResult Create([Bind(Include = "Id, ISBN, Nombre, Categoria, Autor, Unidades, Precio")] LibroViewModel libro)
 {
     try
     {
         if (ModelState.IsValid)
         {
             _lrepo.Create(libro);
             return(RedirectToAction("Index"));
         }
         else
         {
             return(View(libro));
         }
     }
     catch
     {
         return(View());
     }
 }
Example #25
0
        public ActionResult <LibroViewModel> GetLibro(int id)
        {
            LibroViewModel libro = _context.Libros.Select(l => new LibroViewModel
            {
                Id             = l.Id,
                Titulo         = l.Titulo,
                Autor          = l.Autor,
                EditorialId    = l.Editorial.Id,
                Fecha          = l.FechaLocal,
                Costo          = l.Costo,
                PrecioSugerido = l.PrecioSugerido,
            })
                                   .FirstOrDefault(l => l.Id == id);

            if (libro == null)
            {
                return(NotFound());
            }

            return(Ok(libro));
        }
Example #26
0
 private void BtnEditar_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         EditarLibrosView el = new EditarLibrosView();
         libro            l  = dgvLibros.SelectedItem as libro;
         if (l == null) //AGREGUÉ LA EXCEPCION PARA QUE APAREZCA UN MENSAJE CUANDO LE DEMOS CLIC EN EL BOTON DE EDITAR SIN HABER SELECCIONADO NIGNUN LIBRO//
         {
             throw new ArgumentException("Seleccione el libro que desea editar de la lista");
         }
         LibroViewModel lvm = new LibroViewModel(l);
         lvm.Cerrar     = el.Close;
         el.DataContext = lvm;
         el.ShowDialog();
         ll.Cargar();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Example #27
0
        public async Task <IActionResult> Leer(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var libro = await _context.Libros
                        .Include(l => l.Autor)
                        .Include(l => l.Editorial)
                        .Include(l => l.Genero)
                        .FirstOrDefaultAsync(m => m.Id == id);

            if (libro == null)
            {
                return(NotFound());
            }

            LibroViewModel L = new LibroViewModel
            {
                Id       = libro.Id,
                perfilID = PerfilActual
            };


            if (libro.Contenido == null)
            {
                return(RedirectToAction("Prueba", "Capitulo", L));
            }

            var puntuacion = _context
                             .Perfil_Valora_Libros
                             .FirstOrDefault(p => p.LibroId == id && p.PerfilId == PerfilActual);

            ViewBag.VoyAPuntuar = puntuacion == null;

            this.AgregarLecturaDePerfil((int)id);

            return(View(libro));
        }
Example #28
0
        public LibroViewModel ConvertENToModelUI(LibroEN en)   //individual
        {
            LibroViewModel lib = new LibroViewModel();

            lib.libroID     = en.LibroID; //de aqui se va al viewmodel y pues saca las cosas que se le pidan con las instrucciones
            lib.idautor     = en.Aut_lib.AutorID;
            lib.autorname   = en.Aut_lib.Nombre;
            lib.nombre      = en.Nombre;
            lib.genero      = en.Genero;
            lib.fechapubli  = (DateTime)en.Fechapubli;
            lib.idioma      = en.Idioma;
            lib.portada     = en.Portada;
            lib.puntuacion  = en.Puntuacion;
            lib.elacecompra = en.Enlacedecompra;
            lib.paginas     = en.Paginas;
            lib.precio      = en.Precio;
            lib.compras     = en.Compras;
            lib.creador     = en.Creador.UsuarioID;
            lib.creanombre  = en.Creador.Nombre;

            return(lib);
        }
Example #29
0
        public async Task <IActionResult> AddLibro(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var autor = await _dataContext.Autors.FindAsync(id);

            if (autor == null)
            {
                return(NotFound());
            }

            var model = new LibroViewModel
            {
                AutorId    = autor.Id,
                Editorials = _combosHelper.GetComboEditorials()
            };

            return(View(model));
        }
Example #30
0
        public ActionResult ViewDetails(int codLibro = -1, Boolean editar = false)
        {
            LibroViewModel libroModel = new LibroViewModel();

            libroModel.libro      = lS.getById(codLibro);
            libroModel.ejemplares = eS.getEjemplaresByLibro(codLibro);



            if (codLibro > 0 && editar == true)   // UPDATE
            {
                ViewBag.Title = MyResources.LibroResources.AccionEditar;
                // DESPLEGABLE
                ViewBag.AutorList = new SelectList(aS.getAllNoBorrados() as System.Collections.IEnumerable, "CodAutor", "Nombre");
                //IList<Autor> autores = aS.getAll();
                //List<SelectListItem> DesplegableAutores = new List<SelectListItem>();
                //foreach (var autor in autores) {
                //    if (autor.CodAutor == libroModel.Libro.Autor.CodAutor) {
                //        DesplegableAutores.Add(new SelectListItem { Text = autor.Nombre+" "+autor.Apellidos, Value = autor.CodAutor.ToString(), Selected = true });
                //    } else {
                //        DesplegableAutores.Add(new SelectListItem { Text = autor.Nombre+" "+autor.Apellidos, Value = autor.CodAutor.ToString() });
                //    }
                //}
                //ViewData["autores"] = DesplegableAutores;
                // FIN DESPLEGABLE
            }
            else if (libroModel.Libro != null)
            {
                ViewBag.Title = MyResources.LibroResources.ElementoToken + libroModel.Libro.Titulo;
            }
            else     // CREATE
            {
                ViewBag.Title    = MyResources.LibroResources.AccionCrear;
                libroModel.Libro = new Libro();
            }

            return(View("Libro", libroModel));
        }