public ActionResult EliminarLibro(int IdLibro)
        {
            var transaction = new Transaction();

            try
            {
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var libro = db.Libros.SingleOrDefault(b => b.ID_Libro == IdLibro);

                    if (libro == null)
                    {
                        transaction.Estado  = false;
                        transaction.Message = "Ocurrió un error al intentar eliminar el libro de la base de datos";
                        return(Json(new { data = transaction }, JsonRequestBehavior.AllowGet));
                    }

                    // EstadoRegistro = 2 Eliminado
                    // EstadoRegistro = 1 No Eliminado
                    libro.EstadoRegistro = 2;
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                transaction.Estado  = false;
                transaction.Message = "Ocurrió un error al intentar eliminar el libro de la base de datos. " + ex.Message;
            }
            transaction.Estado  = true;
            transaction.Message = "Se eliminó exitosamente el libro";

            return(View("AdministrarInventario"));

            //return Json(new { data = transaction }, JsonRequestBehavior.AllowGet);
        }
        public ActionResult AgregarTarifa(Tarifas model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.Error = ModelState;
                    return(View());
                }
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var tarifa = new Tarifas
                    {
                        Nombre         = model.Nombre,
                        Tarifa         = model.Tarifa,
                        Estado         = "Activo",
                        EstadoRegistro = 1
                    };

                    db.Tarifas.Add(tarifa);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = "Ocurrió un error al procesar la transacción.  " + ex.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }

            return(View());
        }
    public string UpdateBook(int id, Book book)
    {
        try
        {
            BookRentalEntities db = new BookRentalEntities();

            //fetch object from db
            Book b = db.Books.Find(id);

            b.title          = book.title;
            b.picture        = book.picture;
            b.ISBN           = book.ISBN;
            b.category       = book.category;
            b.author_name    = book.author_name;
            b.publisher_name = book.publisher_name;
            b.price          = book.price;

            db.SaveChanges();

            return(book.title + "was successfully updated");
        }
        catch (Exception e)
        {
            return("Error:" + e);
        }
    }
Exemplo n.º 4
0
 public Repository(string pConnectionString)
 {
     //"Data Source=SFECLT\\SQLEXPRESS;Initial Catalog=SecondBookRental;Integrated Security=True"
     context = new BookRentalEntities();
     DbSet   = context.Set <T>();
     context.Database.Connection.ConnectionString = pConnectionString;
 }
        public ActionResult EditarTarifa(int IdTarifa)
        {
            try
            {
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var tarifa = (from t in db.Tarifas
                                  where t.ID_Tarifa == IdTarifa &&
                                  t.EstadoRegistro == 1
                                  select t).FirstOrDefault();

                    if (tarifa == null)
                    {
                        ViewBag.Error = "No fue posible obtener la información de la tarifa";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }
                    return(View(tarifa));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }
        }
        public ActionResult ObtenerLibros()
        {
            try
            {
                List <Libro> listaLibros;

                using (BookRentalEntities db = new BookRentalEntities())
                {
                    listaLibros = (from d in db.Libros
                                   where d.EstadoRegistro == 1
                                   select new Libro
                    {
                        ID_Libro = d.ID_Libro,
                        Titulo = d.Titulo,
                        Autor = d.Autor,
                        Categoria = d.Categoria,
                        Ejemplares = d.Ejemplares,
                        Imagen = d.Imagen
                    }).ToList();

                    if (listaLibros == null)
                    {
                        ViewBag.Error = "No fue posible obtener el listado de libros";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }

                    return(Json(new { data = listaLibros }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Método que retorna la vista para alquilar un ejemplar
        /// </summary>
        /// <returns>vista con la información del libro a rentar</returns>
        /// <param name="IdLibro">id del libro a rentar</param>
        public ActionResult DetalleLibro(int IdLibro)
        {
            try
            {
                var libro = new Libros();

                using (BookRentalEntities db = new BookRentalEntities())
                {
                    libro = (from l in db.Libros
                             where l.ID_Libro == IdLibro &&
                             l.EstadoRegistro == 1 &&
                             l.Estado == "Activo"
                             select l).FirstOrDefault();

                    if (libro == null)
                    {
                        ViewBag.Error = "Error al obtener la información del libro";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }
                }
                return(View(libro));
            }
            catch (Exception exception)
            {
                ViewBag.Error = exception.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }
        }
        public ActionResult EditarLibro(int IdLibro)
        {
            try
            {
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var libro = (from l in db.Libros
                                 where l.ID_Libro == IdLibro &&
                                 l.EstadoRegistro == 1
                                 select l).FirstOrDefault();

                    if (libro == null)
                    {
                        ViewBag.Error = "No fue posible obtener la información del libro";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }

                    libro.ID_Libro = IdLibro;

                    return(View(libro));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Método que retorna la vista con el catálogo de los libros para rentar.
        /// </summary>
        /// <returns>Vista con el catálogo de los libros disponibles para rentar.</returns>
        public ActionResult Index()
        {
            try
            {
                List <Libro> listaLibros;

                using (BookRentalEntities db = new BookRentalEntities())
                {
                    listaLibros = (from d in db.Libros
                                   where d.EstadoRegistro == 1
                                   select new Libro
                    {
                        ID_Libro = d.ID_Libro,
                        Titulo = d.Titulo,
                        Autor = d.Autor,
                        Categoria = d.Categoria,
                        Ejemplares = d.Ejemplares,
                        Imagen = d.Imagen.Trim()
                    }).ToList();

                    if (listaLibros == null)
                    {
                        ViewBag.Error = "No fue posible obtener el listado de libros";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }

                    return(View(listaLibros));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }
        }
Exemplo n.º 10
0
    public string UpdateOrder(int id, Order Order)
    {
        try
        {
            BookRentalEntities db = new BookRentalEntities();

            //fetch object from db
            Order o = db.Orders.Find(id);

            o.isInCart       = Order.isInCart;
            o.isInCart       = Order.isInCart;
            o.order_price    = Order.order_price;
            o.order_quantity = Order.order_quantity;
            o.order_terms    = Order.order_terms;
            o.user_id        = Order.user_id;
            o.book_id        = Order.book_id;

            db.SaveChanges();

            return(Order.order_date + "was successfully updated");
        }
        catch (Exception e)
        {
            return("Error:" + e);
        }
    }
        public ActionResult ObtenerTarifas()
        {
            try
            {
                List <TarifasViewModel> ListaTarifas;

                using (BookRentalEntities db = new BookRentalEntities())
                {
                    ListaTarifas = (from d in db.Tarifas
                                    where d.EstadoRegistro == 1 &&
                                    d.Estado == "Activo"
                                    select new TarifasViewModel
                    {
                        ID_Tarifa = d.ID_Tarifa,
                        Nombre = d.Nombre,
                        Tarifa = d.Tarifa
                    }).ToList();

                    if (ListaTarifas == null)
                    {
                        ViewBag.Error = "No fue posible obtener el listado de tarifas";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }

                    return(Json(new { data = ListaTarifas }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 12
0
    public string InsertOrder(Order Order)
    {
        try
        {
            BookRentalEntities db = new BookRentalEntities();
            db.Orders.Add(Order);
            db.SaveChanges();

            return(Order.order_date + "was successfully inserted");
        }
        catch (Exception e)
        {
            return("Error:" + e);
        }
    }
Exemplo n.º 13
0
    public string InsertBook(Book book)
    {
        try
        {
            BookRentalEntities db = new BookRentalEntities();
            db.Books.Add(book);
            db.SaveChanges();

            return(book.title + "was successfully inserted");
        }
        catch (Exception e)
        {
            return("Error:" + e);
        }
    }
Exemplo n.º 14
0
    public string DeleteBook(int id)
    {
        try
        {
            BookRentalEntities db = new BookRentalEntities();
            Book b = db.Books.Find(id);
            db.Books.Attach(b);
            db.Books.Remove(b);
            db.SaveChanges();

            return(b.title + "was successfully Deleted");
        }
        catch (Exception e)
        {
            return("Error:" + e);
        }
    }
Exemplo n.º 15
0
    public string DeleteOrder(int id)
    {
        try
        {
            BookRentalEntities db = new BookRentalEntities();
            Order o = db.Orders.Find(id);
            db.Orders.Attach(o);
            db.Orders.Remove(o);
            db.SaveChanges();

            return(o.order_date + "was successfully Deleted");
        }
        catch (Exception e)
        {
            return("Error:" + e);
        }
    }
Exemplo n.º 16
0
        /// <summary>
        /// Método que registra el alquiler de un libro
        /// </summary>
        /// <returns></returns>
        /// <param name="IdLibro">Id del libro a rentar</param>
        /// <param name="FechaEntrega">Fecha de devolución del libro</param>
        public ActionResult Alquilar(int IdLibro, string FechaEntrega)
        {
            try
            {
                var tarifa = new Tarifas();

                using (BookRentalEntities db = new BookRentalEntities())
                {
                    tarifa = (from t in db.Tarifas
                              where t.ID_Libro == IdLibro &&
                              t.Estado == "Activo" &&
                              t.EstadoRegistro == 1
                              select t).FirstOrDefault();

                    if (tarifa == null)
                    {
                        ViewBag.Error = "Error al obtener la tarifa de alquiler";
                        return(View("~/Views/Shared/Error.cshtml"));
                    }

                    var CantidadDias = Convert.ToDateTime(FechaEntrega) - DateTime.Now;
                    var ValorReserva = tarifa.Tarifa * CantidadDias.Days;
                    var usuario      = System.Web.HttpContext.Current.Session["ID_Usuario"] as String;//Validar como obtener la variable de sesion

                    var reserva = new Reservas
                    {
                        ID_Usuario   = 2, //Obtener id de usuario de la sesión
                        ValorReserva = ValorReserva,
                        ID_Libro     = IdLibro,
                        FechaEntrega = Convert.ToDateTime(FechaEntrega)
                    };

                    db.Reservas.Add(reserva);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception exception)
            {
                ViewBag.Error = exception.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }
        }
        public ActionResult RegistrarUsuario(Usuario model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.Error = "Ocurrió un error al validar el validar los datos del usuario.";
                    return(View("~/Shared/Error"));
                }
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var usuario = new Usuarios
                    {
                        PrimerNombre    = model.PrimerNombre,
                        SegundoNombre   = model.SegundoNombre,
                        PrimerApellido  = model.PrimerApellido,
                        SegundoApellido = model.SegundoApellido,
                        Correo          = model.Correo,
                        Contrasena      = model.Contrasena,
                        Telefono        = model.Telefono,
                        Direccion       = model.Direccion,
                        Documento       = model.Documento,
                        TipoDocumento   = model.TipoDocumento,
                        Rol             = "Cliente",
                        Estado          = "Activo"
                    };

                    db.Usuarios.Add(usuario);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(View("Index"));
        }
        public ActionResult AutenticarUsuario(string Usuario, String Password)
        {
            try
            {
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var usuario = (from u in db.Usuarios
                                   where u.Correo == Usuario.Trim() &&
                                   u.Contrasena == Password.Trim() &&
                                   u.EstadoRegistro == 1
                                   select u).FirstOrDefault();

                    if (usuario == null)
                    {
                        ViewBag.Error = "Credenciales no válidas";
                        return(View("Index"));
                    }

                    Session["Usuario"] = usuario;

                    if (usuario.Rol.Trim() == "Administrador")
                    {
                        return(RedirectToAction("Index", "Administrador"));
                    }
                    if (usuario.Rol.Trim() == "Cliente")
                    {
                        return(RedirectToAction("Index", "Cliente"));
                    }
                }
                return(RedirectToAction("Index", "Login"));
            }
            catch (Exception exception)
            {
                ViewBag.Error = exception.Message;
                return(View("~/Shared/Error"));
            }
        }
        public ActionResult AgregarLibro(Libro model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.Error = ModelState;
                    return(View());
                }

                model.ID_Tarifa = 1;//agregar DropDown en la vista para seleccionar las tarifas
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var libro = new Libros
                    {
                        Autor          = model.Autor,
                        Titulo         = model.Titulo,
                        Ejemplares     = model.Ejemplares,
                        Categoria      = model.Categoria,
                        Estado         = "Activo",
                        EstadoRegistro = 1,
                        ID_Tarifa      = model.ID_Tarifa
                    };

                    db.Libros.Add(libro);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = "Ocurrió un error al procesar la transacción.  " + ex.Message;
                return(View("~/Views/Shared/Error.cshtml"));
            }

            return(View());
        }
        public ActionResult ActualizarLibro(Libro model)
        {
            var transaction = new Transaction();

            try
            {
                using (BookRentalEntities db = new BookRentalEntities())
                {
                    var libro = db.Libros.Find(model.ID_Libro);

                    libro.Titulo     = model.Titulo;
                    libro.Autor      = model.Autor;
                    libro.Categoria  = model.Categoria;
                    libro.Ejemplares = model.Ejemplares;

                    db.Entry(libro).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    if (libro == null)
                    {
                        transaction.Estado  = false;
                        transaction.Message = "Ocurrió un error al actualizar el libro en la base de datos.";
                        return(Json(new { data = transaction }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                transaction.Estado  = false;
                transaction.Message = "Ocurrió un error al actualizar el libro en la base de datos. - " + ex.Message;
            }
            transaction.Estado  = true;
            transaction.Message = "Se actualizó exitosamente el libro";
            return(View("AdministrarInventario"));
            //return Json(new { data = transaction }, JsonRequestBehavior.AllowGet);
        }
Exemplo n.º 21
0
 public Repository()
 {
     context = new BookRentalEntities();
     DbSet   = context.Set <T>();
 }