Ejemplo n.º 1
0
        public ActionResult CancelarIntercambio(int idPublicacion1, int idPublicacion2)
        {
            var bd = new bdVentaLibrosDataContext();

            var eliminarIntercambio = from intercambio in bd.Intercambios
                                      where intercambio.idPublicacionUsuario1 == idPublicacion1
                                      where intercambio.idPublicacionUsuario2 == idPublicacion2
                                      select intercambio;

            foreach (var intercambio in eliminarIntercambio)
            {
                bd.Intercambios.DeleteOnSubmit(intercambio);
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Intercambio cancelado";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo cancelar el intercambio";
            }
            return(RedirectToAction("SolicitudesIntercambio"));
        }
Ejemplo n.º 2
0
        public ActionResult ModificarIntercambio(int idPublicacion)
        {
            var bd = new bdVentaLibrosDataContext();

            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            ViewBag.listadoLibrosPublicados = from publicacion in bd.PublicacionIntercambio
                                              where publicacion.idUsuario == idUsuario &&
                                              publicacion.idEstado != 2
                                              from genero in bd.Generos
                                              where publicacion.idGenero == genero.idGenero
                                              select new PublicacionIntercambioModel
            {
                idPublicacion = publicacion.idPublicacion,
                titulo        = publicacion.titulo,
                foto          = publicacion.foto,
                autor         = publicacion.autor,
                genero        = genero.nombre,
                fechaHoraAlta = Convert.ToDateTime(publicacion.fechaHoraAlta)
            };

            ViewBag.listadoGeneros = from genero in bd.Generos
                                     select genero;

            var publicacionModificar = from publicacion in bd.PublicacionIntercambio
                                       where idPublicacion == publicacion.idPublicacion
                                       select publicacion;

            return(View(publicacionModificar));
        }
Ejemplo n.º 3
0
        public ActionResult EliminarMensaje(int id)
        {
            var bd = new bdVentaLibrosDataContext();

            var mensaje = (from m in bd.MensajeUsuario
                           where m.idMensaje == id
                           select m).ToList();

            foreach (var m in mensaje)
            {
                bd.MensajeUsuario.DeleteOnSubmit(m);
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Mensaje eliminado";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo eliminar el mensaje";
            }

            return(RedirectToAction("Mensajes"));
        }
Ejemplo n.º 4
0
        public ActionResult EnviarMensaje(MensajeUsuarioModel mensajeUsu)
        {
            var bd = new bdVentaLibrosDataContext();

            MensajeUsuario mensaje = new MensajeUsuario
            {
                nombre        = mensajeUsu.nombre,
                email         = mensajeUsu.email,
                mensaje       = mensajeUsu.mensaje,
                idTipoMensaje = Convert.ToInt32(mensajeUsu.idTipoMensaje),
                fechaHora     = DateTime.Now
            };

            try
            {
                bd.MensajeUsuario.InsertOnSubmit(mensaje);
                bd.SubmitChanges();
                TempData["Message"] = "Mensaje enviado. Gracias por contactarnos.";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se puedo enviar el mensaje." + e.ToString();
            }
            return(RedirectToAction("Contacto"));
        }
Ejemplo n.º 5
0
        public ActionResult PedirIntercambio(int codPublicacionUsu1, int codPublicacionUsu2)
        {
            var bd = new bdVentaLibrosDataContext();

            if (!intercambioExiste(codPublicacionUsu1, codPublicacionUsu2))
            {
                Intercambios intercambio = new Intercambios
                {
                    idPublicacionUsuario1 = codPublicacionUsu1,
                    idPublicacionUsuario2 = codPublicacionUsu2,
                    fechaHora             = DateTime.Now,
                    idEstado = 1
                };

                bd.Intercambios.InsertOnSubmit(intercambio);
                bd.SubmitChanges();
                TempData["Message"] = "¡Se ha enviado tu solicitud de intercambio!";
            }
            else
            {
                TempData["Message"] = "Ya has enviado una solicitud igual";
            }

            return(RedirectToAction("Intercambios"));
        }
Ejemplo n.º 6
0
        public ActionResult DetalleLibro(int idPublicacion)
        {
            var bd = new bdVentaLibrosDataContext();

            ViewBag.listadoGeneros = from genero in bd.Generos
                                     select genero;

            ViewBag.listadoLibros = from libro in bd.PublicacionIntercambio
                                    where libro.idPublicacion == idPublicacion &&
                                    libro.idEstado == 1
                                    from genero in bd.Generos
                                    where libro.idGenero == genero.idGenero
                                    select libro;

            //Para listar los libros del usuario conectado
            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            ViewBag.listadoLibrosPublicados = from publicacion in bd.PublicacionIntercambio
                                              where publicacion.idUsuario == idUsuario &&
                                              publicacion.idEstado == 1
                                              from genero in bd.Generos
                                              where publicacion.idGenero == genero.idGenero
                                              select new PublicacionIntercambioModel
            {
                idPublicacion = publicacion.idPublicacion,
                titulo        = publicacion.titulo,
                foto          = publicacion.foto,
                autor         = publicacion.autor,
                genero        = genero.nombre,
                fechaHoraAlta = Convert.ToDateTime(publicacion.fechaHoraAlta)
            };

            return(View());
        }
Ejemplo n.º 7
0
        public ActionResult EnviarReclamo(int idPedido, string mensaje, string email)
        {
            var bd = new bdVentaLibrosDataContext();

            var pedidoReclamado = (from pedido in bd.Pedidos
                                   where pedido.idPedido == idPedido
                                   select pedido).ToList();

            Reclamos reclamado = new Reclamos
            {
                idPedido = idPedido,
                mensaje  = mensaje,
                mail     = email,
                fecha    = DateTime.Now
            };

            foreach (var p in pedidoReclamado)
            {
                p.idEstadoPedido = 6; //cambia el estado del pedido a RECLAMADO
            }

            try {
                bd.Reclamos.InsertOnSubmit(reclamado);
                bd.SubmitChanges();
                TempData["Message"] = "Se ha enviado su reclamo. Nos pondemos en contacto con ud vía email";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo registrar su reclamo. Intentelo nuevamente";
            }
            return(RedirectToAction("MisCompras"));
        }
Ejemplo n.º 8
0
        public ActionResult NuevoIntercambio(PublicacionIntercambioModel ppum, HttpPostedFileBase foto)
        {
            var bd = new bdVentaLibrosDataContext();

            if (foto != null)
            {
                foto.SaveAs(System.IO.Path.Combine(@"E:\webVentaLibros\webVentaLibros\img\catalogoIntercambios", System.IO.Path.GetFileName(foto.FileName)));
            }

            PublicacionIntercambio publicacion = new PublicacionIntercambio
            {
                idUsuario     = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]),
                titulo        = ppum.titulo,
                descripcion   = ppum.descripcion,
                foto          = @"img/catalogoIntercambios/" + foto.FileName,
                idEstado      = 1,
                idGenero      = ppum.idGenero,
                autor         = ppum.autor,
                fechaHoraAlta = DateTime.Now
            };

            bd.PublicacionIntercambio.InsertOnSubmit(publicacion);
            bd.SubmitChanges();
            TempData["Message"] = "Se ha publicado su libro!";

            return(RedirectToAction("MisPublicacionesActivas"));
        }
Ejemplo n.º 9
0
        public ActionResult EliminarCalificacion(string codLibro)
        {
            var bd        = new bdVentaLibrosDataContext();
            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            var calificacionElegida = (from calificacion in bd.CalificacionPorLibro
                                       where calificacion.idUsuario == idUsuario &&
                                       calificacion.codigoLibro == codLibro
                                       select calificacion).ToList();

            foreach (var c in calificacionElegida)
            {
                bd.CalificacionPorLibro.DeleteOnSubmit(c);
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Calificacion eliminada.";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo eliminar la calificacion. Intentelo nuevamente";
            }
            return(RedirectToAction("MisCalificaciones"));
        }
Ejemplo n.º 10
0
        public ActionResult EliminarDeseado(string codLibro)
        {
            var bd        = new bdVentaLibrosDataContext();
            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            var libro = (from deseado in bd.ListaDeseados
                         where deseado.idUsuario == idUsuario &&
                         deseado.codigoLibro == codLibro
                         select deseado).ToList();

            foreach (var li in libro)
            {
                bd.ListaDeseados.DeleteOnSubmit(li);
                TempData["Message"] = "Libro eliminado de su lista de deseados.";
            }

            try
            {
                bd.SubmitChanges();
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo eliminar de la lista. Intentelo nuevamente";
            }

            return(RedirectToAction("MiListaDeseados"));
        }
Ejemplo n.º 11
0
        public ActionResult MisPublicacionesActivas()
        {
            var bd = new bdVentaLibrosDataContext();

            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            var usuarioLogueado = (from usuario in bd.Usuarios
                                   where usuario.idUsuario == idUsuario
                                   select usuario).FirstOrDefault();

            ViewBag.listadoLibrosPublicados = from publicacion in bd.PublicacionIntercambio
                                              where publicacion.idUsuario == idUsuario &&
                                              publicacion.idEstado == 1
                                              from genero in bd.Generos
                                              where publicacion.idGenero == genero.idGenero
                                              select new PublicacionIntercambioModel
            {
                idPublicacion = publicacion.idPublicacion,
                titulo        = publicacion.titulo,
                foto          = publicacion.foto,
                autor         = publicacion.autor,
                genero        = genero.nombre,
                fechaHoraAlta = Convert.ToDateTime(publicacion.fechaHoraAlta)
            };

            ViewBag.listadoGeneros = from genero in bd.Generos
                                     select genero;

            return(View());
        }
Ejemplo n.º 12
0
        public ActionResult AgregarAutor(AutorModel autor)
        {
            var bd             = new bdVentaLibrosDataContext();
            var autorIngresado = new AutorModel
            {
                apellidoAutor = autor.apellidoAutor,
                nombreAutor   = autor.nombreAutor
            };

            if (AutorExiste(autorIngresado.apellidoAutor, autorIngresado.nombreAutor))
            {
                TempData["Message"] = "Ya existe un autor con esos datos";
            }
            else
            {
                Autores nuevoAutor = new Autores
                {
                    apellidos = autor.apellidoAutor,
                    nombres   = autor.nombreAutor
                };
                bd.Autores.InsertOnSubmit(nuevoAutor);
                bd.SubmitChanges();
                TempData["Message"] = "Autor agregado!";
            }

            return(RedirectToAction("AgregarAutor"));
        }
Ejemplo n.º 13
0
        public ActionResult ActualizarStock()
        {
            var bd = new bdVentaLibrosDataContext();

            var listaLibros = (from libro in bd.Libros
                               from editorial in bd.Editoriales
                               .Where(e => e.idEditorial == libro.idEditorial).DefaultIfEmpty()
                               from genero in bd.Generos
                               .Where(g => g.idGenero == libro.idGenero).DefaultIfEmpty()
                               from autor in bd.Autores
                               .Where(a => a.idAutor == libro.idAutor1).DefaultIfEmpty()
                               .Where(a => a.idAutor == libro.idAutor2).DefaultIfEmpty()
                               .Where(a => a.idAutor == libro.idAutor3).DefaultIfEmpty()
                               .Where(a => a.idAutor == libro.idAutor4).DefaultIfEmpty()
                               select new LibroModel
            {
                codigoBarra = libro.codigoBarra,
                foto = libro.foto,
                titulo = libro.titulo,
                genero = libro.Generos.nombre,
                autor1 = libro.Autores.apellidos + ", " + libro.Autores.nombres,
                autor2 = libro.Autores1.apellidos + ", " + libro.Autores.nombres,
                autor3 = libro.Autores2.apellidos + ", " + libro.Autores.nombres,
                autor4 = libro.Autores3.apellidos + ", " + libro.Autores.nombres,
                editorial = libro.Editoriales.nombre,
                precio = Convert.ToDouble(libro.precio),
                stock = libro.stock
            }).ToList();

            ViewBag.listadoLibros = listaLibros;

            return(View());
        }
Ejemplo n.º 14
0
        public ActionResult RegistrarUsuario()
        {
            var bd = new bdVentaLibrosDataContext();

            var listadoProvincias = (from p in bd.Provincias
                                     select new ProvinciaModel
            {
                idProvincia = p.idProvincia,
                nombreProvincia = p.nombre
            }).ToList();
            List <SelectListItem> li = new List <SelectListItem>();

            li.Add(new SelectListItem {
                Text = "Seleccione..", Value = "0"
            });                                                                //Valor 0 por defecto..

            foreach (var p in listadoProvincias)
            {
                li.Add(new SelectListItem {
                    Text = p.nombreProvincia, Value = p.idProvincia.ToString()
                });
            }

            ViewData["provincias"] = li;

            return(View(listadoProvincias));
        }
Ejemplo n.º 15
0
        public JsonResult GetLocalidades(string idProvincia)
        {
            var bd   = new bdVentaLibrosDataContext();
            var prov = Convert.ToInt32(idProvincia);

            List <SelectListItem> localidades = new List <SelectListItem>();

            if (prov > 0)
            {
                var listaLocalidades = (from l in bd.Localidades
                                        where l.idProvincia == prov
                                        select new LocalidadModel
                {
                    idLocalidad = l.idLocalidad,
                    nombreLocalidad = l.nombre
                }).ToList();

                foreach (var loc in listaLocalidades)
                {
                    localidades.Add(new SelectListItem {
                        Text = loc.nombreLocalidad, Value = loc.idLocalidad.ToString()
                    });
                }
            }
            else
            {
                localidades.Clear();
            }
            return(Json(new SelectList(localidades, "Value", "Text")));
        }
Ejemplo n.º 16
0
        public ActionResult ReclamoSolucionado(int idReclamo)
        {
            var bd = new bdVentaLibrosDataContext();

            var reclamo = (from r in bd.Reclamos
                           where r.idReclamo == idReclamo
                           select r).ToList();

            foreach (var r in reclamo)
            {
                r.idEstado = 2;
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Reclamo solucionado";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo realizar la acción requerida";
            }

            return(RedirectToAction("Reclamos"));
        }
Ejemplo n.º 17
0
        public bool verificarCalificacion(string codLibro, int usuario)
        {
            var existe = false;
            var bd     = new bdVentaLibrosDataContext();

            //Hago un listado de las calificaciones del libro en cuestion
            var calificacionesLibro = from libro in bd.CalificacionPorLibro
                                      where libro.codigoLibro == codLibro
                                      select libro;

            //Compruebo de que el libro tenga alguna calificacion
            if (calificacionesLibro != null)
            {
                foreach (var libro in calificacionesLibro)
                {
                    if (libro.idUsuario == usuario) // por cada calificacion que recibio, compruebo si el usuario ya realizo una calificacion
                    {
                        existe = true;              //el usuario ya realizo una calificacion a ese libro..
                        break;                      //dejo de buscar..
                    }
                }
            }

            return(existe);
        }
Ejemplo n.º 18
0
        public ActionResult BuscarLibro(string busqueda)
        {
            var bd = new bdVentaLibrosDataContext();

            var librosEncontrados = (from libro in bd.Libros
                                     where libro.codigoBarra == busqueda ||
                                     libro.titulo.Contains(busqueda) ||
                                     (libro.Autores.nombres + " " + libro.Autores.apellidos).Contains(busqueda) ||
                                     (libro.Autores1.nombres + " " + libro.Autores1.apellidos).Contains(busqueda) ||
                                     (libro.Autores2.nombres + " " + libro.Autores2.apellidos).Contains(busqueda) ||
                                     (libro.Autores3.nombres + " " + libro.Autores3.apellidos).Contains(busqueda)
                                     select libro).ToList();

            ViewBag.listadoLibros = librosEncontrados;

            var listaGeneros = (from genero in bd.Generos
                                select new GeneroModel
            {
                idGenero = genero.idGenero,
                nombreGenero = genero.nombre
            }).ToList();

            ViewBag.listadoGeneros = listaGeneros;

            return(View());
        }
Ejemplo n.º 19
0
        public ActionResult EliminarDescuento(int idDescuento)
        {
            var bd = new bdVentaLibrosDataContext();

            var descuento = (from d in bd.Descuentos
                             where d.idDescuento == idDescuento
                             select d).ToList();

            foreach (var d in descuento)
            {
                bd.Descuentos.DeleteOnSubmit(d);
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Código de descuento eliminado";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo eliminar el código de descuento";
            }

            return(RedirectToAction("Descuentos"));
        }
Ejemplo n.º 20
0
        public ActionResult EliminarPedido(int idPedido)
        {
            var bd = new bdVentaLibrosDataContext();

            var detalles = (from detalle in bd.DetallePorPedido
                            where detalle.idPedido == idPedido
                            select detalle).ToList();
            var reclamos = (from reclamo in bd.Reclamos
                            where reclamo.idPedido == idPedido
                            select reclamo).ToList();
            var eliminar = (from pedido in bd.Pedidos
                            where pedido.idPedido == idPedido
                            select pedido).FirstOrDefault();

            try
            {
                foreach (var detalle in detalles)
                {
                    bd.DetallePorPedido.DeleteOnSubmit(detalle);
                }
                foreach (var reclamo in reclamos)
                {
                    bd.Reclamos.DeleteOnSubmit(reclamo);
                }
                bd.Pedidos.DeleteOnSubmit(eliminar);
                bd.SubmitChanges();
                TempData["Message"] = "Pedido eliminado";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo eliminar el pedido";
            }
            return(RedirectToAction("Pedidos"));
        }
Ejemplo n.º 21
0
        public ActionResult ReportesVarios(DateTime inicio, DateTime fin)
        {
            var bd = new bdVentaLibrosDataContext();

            ViewBag.fechaDesde = inicio.ToShortDateString();
            ViewBag.fechaHasta = fin.ToShortDateString();

            ViewBag.cantidadIntercambios = (from intercambio in bd.Intercambios
                                            where intercambio.fechaHora >= inicio && intercambio.fechaHora <= fin
                                            select intercambio).Count();

            ViewBag.cantidadIntercambiosPublicados = (from publicacion in bd.PublicacionIntercambio
                                                      where publicacion.fechaHoraAlta >= inicio && publicacion.fechaHoraAlta <= fin
                                                      select publicacion).Count();

            ViewBag.usuariosRegistrados = (from usuario in bd.Usuarios
                                           where usuario.fechaHoraAlta >= inicio && usuario.fechaHoraAlta <= fin
                                           select usuario).Count();

            ViewBag.masDeseados = (from deseado in bd.ListaDeseados
                                   where deseado.fechaHora >= inicio && deseado.fechaHora <= fin
                                   group deseado by deseado.Libros.codigoBarra into g
                                   orderby g.Count() descending
                                   select g.First()).Take(5).ToList();

            ViewBag.cantidadLibrosNuevos = (from libro in bd.Libros
                                            where libro.fechaAlta >= inicio && libro.fechaAlta <= fin
                                            select libro).Count();

            ViewBag.cantidadLibrosSinStock = (from libro in bd.Libros
                                              where libro.stock == 0
                                              select libro).Count();

            return(View());
        }
Ejemplo n.º 22
0
        public ActionResult EditarDatos(UserModel usu)
        {
            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);
            var bd        = new bdVentaLibrosDataContext();

            var usuarioLogueado = (from usuario in bd.Usuarios
                                   where usuario.idUsuario == idUsuario
                                   select usuario).ToList();

            foreach (var u in usuarioLogueado)
            {
                u.nombreUsuario = usu.nombreUsuario;
                u.mail          = usu.mail;
                u.direccion     = usu.direccion;
                if (usu.idProvincia > 0)
                {
                    u.idProvincia = usu.idProvincia;
                    if (usu.idLocalidad > 0)
                    {
                        u.idLocalidad = usu.idLocalidad;
                    }
                }
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Sus datos fueron modificados exitosamente";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo modificar sus datos." + e.ToString();
            }
            return(View());
        }
Ejemplo n.º 23
0
        public ActionResult MostrarLibros(int idGenero)
        {
            var bd = new bdVentaLibrosDataContext();

            var listaLibros = (from libro in bd.Libros
                               where libro.idGenero == idGenero &&
                               libro.stock > 0
                               select new LibroModel
            {
                codigoBarra = libro.codigoBarra,
                titulo = libro.titulo,
                foto = libro.foto,
                precio = Convert.ToDouble(libro.precio)
            }).ToList();

            var listaGeneros = (from genero in bd.Generos
                                select new GeneroModel
            {
                idGenero = genero.idGenero,
                nombreGenero = genero.nombre
            }).ToList();

            ViewBag.nombreGenero = (from genero in bd.Generos
                                    where genero.idGenero == idGenero
                                    select genero.nombre).FirstOrDefault();

            ViewBag.listadoGeneros = listaGeneros;
            ViewBag.listadoLibros  = listaLibros;

            return(View());
        }
Ejemplo n.º 24
0
        public ActionResult CompraFinalizada(int?collection_id, string collection_status, string preference_id, string external_reference, string payment_type, int?merchant_order_id)
        {
            var bd        = new bdVentaLibrosDataContext();
            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            var ultimoPedido = (from pedido in bd.Pedidos
                                where pedido.idUsuario == idUsuario
                                orderby pedido.fechaEntrega descending
                                select pedido).FirstOrDefault();

            //if (collection_status == "success")
            //{
            ultimoPedido.idEstadoPedido = 2;

            Session["carrito"] = null;

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Gracias por su compra";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo registrar el pago";
            }
            //}
            return(View());
        }
Ejemplo n.º 25
0
        //
        // GET: /Home/

        public ActionResult Index()
        {
            //Creo el contexto de datos
            var bd = new bdVentaLibrosDataContext();
            //Recupero la lista de libros -> son de tipo Libro: entidad de dominio

            var lista = (from libro in bd.Libros
                         select new LibroModel
            {
                codigoBarra = libro.codigoBarra,
                foto = libro.foto,
                titulo = libro.titulo,
                sinopsis = libro.sinopsis,
                precio = Convert.ToDouble(libro.precio),
                fechaAlta = Convert.ToDateTime(libro.fechaAlta)
            }).OrderByDescending(l => l.fechaAlta).Take(10).ToList();

            var listaCompleta = new List <LibroModel>();

            foreach (var libro in lista)
            {
                var entidadLibro = new LibroModel
                {
                    codigoBarra = libro.codigoBarra,
                    foto        = libro.foto,
                    titulo      = libro.titulo,
                    sinopsis    = libro.sinopsis,
                    precio      = libro.precio
                };
                listaCompleta.Add(entidadLibro);
            }

            ViewBag.masVendidos = (from libro in bd.DetallePorPedido
                                   from libroExistencia in bd.Libros
                                   where libro.codigoLibro == libroExistencia.codigoBarra &&
                                   libroExistencia.stock > 0
                                   group libro by libro.codigoLibro into g
                                   orderby g.Sum(x => x.cantidad) descending
                                   select g.First()).Take(3);

            ViewBag.mejorCalificacion = (from libro in bd.CalificacionPorLibro
                                         from libroExistencia in bd.Libros
                                         where libro.codigoLibro == libroExistencia.codigoBarra &&
                                         libroExistencia.stock > 0
                                         group libro by libro.codigoLibro into g
                                         orderby g.Average(x => x.calificacion) descending
                                         select g.First()).Take(3);

            ViewBag.masDeseados = (from libro in bd.ListaDeseados
                                   from libroExistencia in bd.Libros
                                   where libro.codigoLibro == libroExistencia.codigoBarra &&
                                   libroExistencia.stock > 0
                                   group libro by libro.codigoLibro into g
                                   orderby g.Count() descending
                                   select g.First()).Take(3);

            //Paso como parámetro a la vista la lista de inmuebles
            return(View(listaCompleta));
        }
Ejemplo n.º 26
0
        public ActionResult Checkout(int idDescuento)
        {
            var bd        = new bdVentaLibrosDataContext();
            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            ViewBag.datosEnvio = (DatosEnvioModel)Session["DatosEnvio"];

            double             totalCompra = 0;
            List <CarritoItem> compra      = (List <CarritoItem>)Session["carrito"];
            int cantidad = compra.Count;

            if (Session["carrito"] != null)
            {
                foreach (var item in Session["carrito"] as List <CarritoItem> )
                {
                    totalCompra = totalCompra + (item.Cantidad * item.Libro.precio);
                }
                ViewBag.total    = totalCompra;
                ViewBag.cantidad = cantidad;
            }

            var ultimoPedido = (from pedido in bd.Pedidos
                                where pedido.idUsuario == idUsuario
                                orderby pedido.fechaHora descending
                                select pedido).FirstOrDefault();

            ViewBag.pedido = ultimoPedido;

            var descuentoAplicable = (from descuento in bd.Descuentos
                                      where descuento.idDescuento == idDescuento
                                      select descuento).FirstOrDefault();

            ViewBag.descuento = descuentoAplicable;

            if (idDescuento > 0)
            {
                ultimoPedido.idDescuento = descuentoAplicable.idDescuento;
                if (descuentoAplicable.idTipo == 1)
                {
                    ultimoPedido.total = ultimoPedido.total - (ultimoPedido.total * descuentoAplicable.descuento / 100);
                }
                else
                {
                    ultimoPedido.total = ultimoPedido.total - descuentoAplicable.descuento;
                }

                try
                {
                    bd.SubmitChanges();
                    TempData["Message"] = "Se ha aplicado el descuento";
                }
                catch (Exception e)
                {
                    TempData["Message"] = "El código ingresado no es correcto o ha caducado";
                }
            }

            return(View());
        }
Ejemplo n.º 27
0
        public ActionResult AceptarIntercambio(int idPublicacion1, int idPublicacion2)
        {
            var bd = new bdVentaLibrosDataContext();

            var actualizarIntercambio = from intercambio in bd.Intercambios
                                        where intercambio.idPublicacionUsuario1 == idPublicacion1 &&
                                        intercambio.idPublicacionUsuario2 == idPublicacion2
                                        select intercambio;

            var rechazarOtros = (from intercambio in bd.Intercambios
                                 where (intercambio.idPublicacionUsuario1 == idPublicacion1 ||
                                        intercambio.idPublicacionUsuario2 == idPublicacion1 ||
                                        intercambio.idPublicacionUsuario1 == idPublicacion2 ||
                                        intercambio.idPublicacionUsuario2 == idPublicacion2)
                                 select intercambio).Except(actualizarIntercambio);

            var deshabilitarPublicaciones = from publicacion in bd.PublicacionIntercambio
                                            where publicacion.idPublicacion == idPublicacion1 ||
                                            publicacion.idPublicacion == idPublicacion2
                                            select publicacion;

            ViewBag.librosIntercambiados = actualizarIntercambio;

            foreach (var intercambio in actualizarIntercambio)
            {
                intercambio.idEstado = 2; // 2 => 'SOLICITUD ACEPTADA'
            }

            //Elimina los intercambios donde se ofrecian uno de los dos libros
            foreach (var intercambio in rechazarOtros)
            {
                bd.Intercambios.DeleteOnSubmit(intercambio);
            }

            //Deshabilito las publicaciones
            foreach (var publicacion in deshabilitarPublicaciones)
            {
                publicacion.idEstado = 3; //3 => 'EN INTERCAMBIO'
            }

            try
            {
                bd.SubmitChanges();
                TempData["Message"] = "Intercambio aceptado! Ingresa al detalle del intercambio para ver los datos del usuario";
            }
            catch (Exception e)
            {
                TempData["Message"] = "No se pudo aceptar el intercambio";
            }


            foreach (var intercambio in rechazarOtros)
            {
                bd.Intercambios.DeleteOnSubmit(intercambio);
            }

            return(RedirectToAction("SolicitudesIntercambio"));
        }
Ejemplo n.º 28
0
        //
        // GET: /Libro/

        public ActionResult Index(string cod)
        {
            var bdVentaLibros = new bdVentaLibrosDataContext();

            int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]);

            ViewBag.listadoGeneros = from genero in bdVentaLibros.Generos
                                     select genero;

            var libroSeleccionado = from libro in bdVentaLibros.Libros
                                    join gen in bdVentaLibros.Generos on libro.idGenero equals gen.idGenero
                                    where libro.codigoBarra == cod
                                    select new LibroModel
            {
                codigoBarra = libro.codigoBarra,
                titulo      = libro.titulo,
                edicion     = Convert.ToInt32(libro.edicion),
                foto        = libro.foto,
                idGenero    = Convert.ToInt32(libro.idGenero),
                idEditorial = Convert.ToInt32(libro.idEditorial),
                sinopsis    = libro.sinopsis,
                precio      = Convert.ToDouble(libro.precio),
                paginas     = Convert.ToInt32(libro.paginas),
                genero      = gen.nombre,
                autor1      = libro.Autores.apellidos + ", " + libro.Autores.nombres
            };

            var calificacionPromedio = (from calificacion in bdVentaLibros.CalificacionPorLibro
                                        where calificacion.codigoLibro == cod
                                        select calificacion.calificacion).ToList();

            if (calificacionPromedio.Count > 0)
            {
                ViewBag.calificacionPromedio = Convert.ToInt32(calificacionPromedio.Average());
            }

            ViewBag.enListaDeseados = (from deseado in bdVentaLibros.ListaDeseados
                                       where deseado.idUsuario == idUsuario &&
                                       deseado.codigoLibro == cod
                                       select deseado).Count();

            //libros relacionados (genero, autor...)
            var libroElegido = (from libro in bdVentaLibros.Libros
                                where libro.codigoBarra == cod
                                select libro).FirstOrDefault();

            ViewBag.librosRelacionados = (from libro in bdVentaLibros.Libros
                                          where (libro.idGenero == libroElegido.idGenero ||
                                                 libro.idAutor1 == libroElegido.idAutor1) &&
                                          libro.codigoBarra != libroElegido.codigoBarra
                                          select libro).Take(7);

            ViewBag.reviews = (from calificacion in bdVentaLibros.CalificacionPorLibro
                               where calificacion.codigoLibro == cod
                               select calificacion).ToList();

            return(View(libroSeleccionado));
        }
Ejemplo n.º 29
0
        // GET: Contacto
        public ActionResult Contacto()
        {
            var bd = new bdVentaLibrosDataContext();

            ViewBag.tiposMensaje = from tipo in bd.TipoMensajeUsuario
                                   select tipo;

            return(View());
        }
Ejemplo n.º 30
0
        public ActionResult Reclamos()
        {
            var bd = new bdVentaLibrosDataContext();

            ViewBag.reclamos = (from reclamo in bd.Reclamos
                                select reclamo).ToList();

            return(View());
        }