public ActionResult ModificarLibro(LibroModel libroElegido, HttpPostedFileBase foto) { var bd = new bdVentaLibrosDataContext(); if (foto != null) { foto.SaveAs(System.IO.Path.Combine(@"E:\webVentaLibros\webVentaLibros\img\catalogo", System.IO.Path.GetFileName(foto.FileName))); } var libroModificado = from libro in bd.Libros where libroElegido.codigoBarra == libro.codigoBarra select libro; //Cambio los datos del inmueble if (foto != null) { foreach (var libro in libroModificado) { libro.titulo = libroElegido.titulo; libro.idGenero = libroElegido.idGenero; libro.idEditorial = libroElegido.idEditorial; libro.idAutor1 = libroElegido.idAutor1; libro.idAutor2 = libroElegido.idAutor2; libro.idAutor3 = libroElegido.idAutor3; libro.idAutor4 = libroElegido.idAutor4; libro.paginas = libroElegido.paginas; libro.precio = Convert.ToDecimal(libroElegido.precio); libro.sinopsis = libroElegido.sinopsis; libro.edicion = libroElegido.edicion; libro.foto = @"img/catalogo/" + foto.FileName; } } else { foreach (var libro in libroModificado) { libro.titulo = libroElegido.titulo; libro.idGenero = libroElegido.idGenero; libro.idEditorial = libroElegido.idEditorial; libro.idAutor1 = libroElegido.idAutor1; libro.idAutor2 = libroElegido.idAutor2; libro.idAutor3 = libroElegido.idAutor3; libro.idAutor4 = libroElegido.idAutor4; libro.paginas = libroElegido.paginas; libro.precio = Convert.ToDecimal(libroElegido.precio); libro.sinopsis = libroElegido.sinopsis; libro.edicion = libroElegido.edicion; } } //Hago el submit bd.SubmitChanges(); TempData["Message"] = "Libro modificado!"; return(RedirectToAction("AgregarLibro")); }
public ActionResult Descuentos(int?descuento1, int?descuento2, DateTime expiracion, string codigoDescuento) { var bd = new bdVentaLibrosDataContext(); var tipoDescuento = 1; var cantidadDescuento = descuento1; if (descuento2 != null) { tipoDescuento = 2; cantidadDescuento = descuento2; } if (!verificarCodigoDescuento(codigoDescuento)) { Descuentos descuento = new Descuentos { codigo = codigoDescuento, idTipo = tipoDescuento, fecha = DateTime.Now, validez = 1, // 1 = valido, 0 = no valido fechaExpiracion = expiracion, descuento = cantidadDescuento }; try { bd.Descuentos.InsertOnSubmit(descuento); bd.SubmitChanges(); TempData["Message"] = "Se ha agregado el código de descuento"; } catch (Exception e) { TempData["Message"] = "No se pudo agregar el código de descuento"; } } else { TempData["Message"] = "El codigo ingresado ya existe y esta vigente"; } ViewBag.descuentos = (from descuento in bd.Descuentos where descuento.validez != 0 select descuento).ToList(); return(View()); }
public ActionResult RegistrarCalificacion(string codLibro, int rating, string review) { var bd = new bdVentaLibrosDataContext(); int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]); try { if (verificarCalificacion(codLibro, idUsuario)) //Ya realizo una calificacion al libro...entonces hago update { var updateCalificacion = from calificacion in bd.CalificacionPorLibro where calificacion.codigoLibro == codLibro && calificacion.idUsuario == idUsuario select calificacion; foreach (var calificacionLibro in updateCalificacion) { calificacionLibro.calificacion = rating; calificacionLibro.fechaHora = DateTime.Now; calificacionLibro.comentario = review; } } else //No realizo una calificacion al libro... entonces hago un insert { CalificacionPorLibro calificacion = new CalificacionPorLibro { codigoLibro = codLibro, idUsuario = idUsuario, calificacion = rating, fechaHora = DateTime.Now, comentario = review }; bd.CalificacionPorLibro.InsertOnSubmit(calificacion); } bd.SubmitChanges(); TempData["Message"] = "Calificación exitosa"; } catch (Exception e) { TempData["Message"] = "No se pudo registrar la calificacion. Intentelo nuevamente." + e.Message; } return(RedirectToAction("Index", new { cod = codLibro })); }
public ActionResult EditarContraseña(string contraseñaAntigua, string contraseñaNueva) { int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]); var bd = new bdVentaLibrosDataContext(); var emailUsuarioLogueado = (from usuario in bd.Usuarios where usuario.idUsuario == idUsuario select usuario.mail).FirstOrDefault(); var usuarioLogueado = from usuario in bd.Usuarios where usuario.idUsuario == idUsuario && usuario.contraseña == contraseñaAntigua select usuario; if (usuarioLogueado.Count() > 0) { foreach (var usuario in usuarioLogueado) { usuario.contraseña = contraseñaNueva; } WebSecurity.ChangePassword(emailUsuarioLogueado, contraseñaAntigua, contraseñaNueva); bd.SubmitChanges(); TempData["Message"] = "Contraseña actualizada exitosamente"; } else { TempData["Message"] = "No se puedo actualizar su contraseña. Verifique los datos ingresados."; } //try //{ // WebSecurity.ChangePassword(emailUsuarioLogueado, contraseñaAntigua, contraseñaNueva); // bd.SubmitChanges(); // TempData["Message"] = "Contraseña actualizada exitosamente"; //} //catch(Exception e) //{ // TempData["Message"] = "No se puedo actualizar su contraseña. Verifique los datos ingresados."; //} return(View()); }
public ActionResult ModificarEditorial(EditorialModel editorialElegida) { var bd = new bdVentaLibrosDataContext(); var editorialModificada = from editorial in bd.Editoriales where editorial.idEditorial == editorialElegida.idEditorial select editorial; foreach (var editorial in editorialModificada) { editorial.nombre = editorialElegida.nombre; } bd.SubmitChanges(); TempData["Message"] = "Editorial modificado!"; return(RedirectToAction("Editoriales")); }
public ActionResult CheckLibroDeseado(bool check, string cod) { var bd = new bdVentaLibrosDataContext(); int idUsuarioLogueado = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]); if (!check) //Quitar de la lista de deseados.. { var libroSeleccionado = from libro in bd.ListaDeseados where libro.idUsuario == idUsuarioLogueado && libro.codigoLibro == cod select libro; foreach (var libro in libroSeleccionado) { bd.ListaDeseados.DeleteOnSubmit(libro); } TempData["Message"] = "Libro eliminado de su lista de deseados"; } else //Agregar a la lista de deseados.. { ListaDeseados nuevoDeseado = new ListaDeseados { idUsuario = idUsuarioLogueado, codigoLibro = cod, fechaHora = DateTime.Now }; bd.ListaDeseados.InsertOnSubmit(nuevoDeseado); TempData["Message"] = "Libro agregado a su lista de deseados"; } try { bd.SubmitChanges(); } catch (Exception ex) { TempData["Message"] = "No se pudo registrar. Intentelo nuevamente." + ex.Message; } return(RedirectToAction("Index", new { cod = cod })); }
public ActionResult ModificarGenero(GeneroModel generoElegido) { var bd = new bdVentaLibrosDataContext(); var generoModificado = from genero in bd.Generos where genero.idGenero == generoElegido.idGenero select genero; foreach (var genero in generoModificado) { genero.nombre = generoElegido.nombreGenero; } bd.SubmitChanges(); TempData["Message"] = "Género modificado!"; return(RedirectToAction("Generos")); }
public ActionResult AgregarEditorial(EditorialModel editorial) { var bd = new bdVentaLibrosDataContext(); if (EditorialExiste(editorial.nombre)) { TempData["Message"] = "La editorial ya existe"; } else { Editoriales nuevaEditorial = new Editoriales { nombre = editorial.nombre }; bd.Editoriales.InsertOnSubmit(nuevaEditorial); bd.SubmitChanges(); TempData["Message"] = "Editorial agregada!"; } return(RedirectToAction("Editoriales")); }
public ActionResult AgregarGenero(GeneroModel genero) { var bd = new bdVentaLibrosDataContext(); if (GeneroExiste(genero.nombreGenero)) { TempData["Message"] = "El género literario ya existe"; } else { Generos nuevoGenero = new Generos { nombre = genero.nombreGenero }; bd.Generos.InsertOnSubmit(nuevoGenero); bd.SubmitChanges(); TempData["Message"] = "Género literario agregado!"; } return(RedirectToAction("Generos")); }
public ActionResult ModificarIntercambio(PublicacionIntercambioModel publicacionModificar, 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))); } var publicacionModificada = from publicacion in bd.PublicacionIntercambio where publicacionModificar.idPublicacion == publicacion.idPublicacion select publicacion; //Cambio los datos del inmueble if (foto != null) { foreach (var publicacion in publicacionModificada) { publicacion.titulo = publicacionModificar.titulo; publicacion.idGenero = publicacionModificar.idGenero; publicacion.autor = publicacionModificar.autor; publicacion.descripcion = publicacionModificar.descripcion; publicacion.foto = @"img/catalogoIntercambios/" + foto.FileName; } } else { foreach (var publicacion in publicacionModificada) { publicacion.titulo = publicacionModificar.titulo; publicacion.idGenero = publicacionModificar.idGenero; publicacion.autor = publicacionModificar.autor; publicacion.descripcion = publicacionModificar.descripcion; } } //Hago el submit bd.SubmitChanges(); TempData["Message"] = "¡Publicacion de intercambio modificada!"; return(RedirectToAction("MisPublicacionesActivas")); }
public ActionResult AgregarLibro(LibroModel libro, HttpPostedFileBase foto) { var bd = new bdVentaLibrosDataContext(); if (LibroExiste(libro.codigoBarra)) { TempData["Message"] = "Ya existe un libro con el mismo título y editorial"; } else { foto.SaveAs(System.IO.Path.Combine(@"E:\webVentaLibros\webVentaLibros\img\catalogo", System.IO.Path.GetFileName(foto.FileName))); //Convierto el model (libro) en entidad Libros entidadLibro = new Libros { titulo = libro.titulo, codigoBarra = libro.codigoBarra, idEditorial = libro.idEditorial, paginas = libro.paginas, stock = libro.stock, edicion = libro.edicion, precio = Convert.ToDecimal(libro.precio), idGenero = libro.idGenero, sinopsis = libro.sinopsis, idAutor1 = libro.idAutor1, idAutor2 = libro.idAutor2, idAutor3 = libro.idAutor3, idAutor4 = libro.idAutor4, foto = @"img/catalogo/" + foto.FileName, fechaAlta = DateTime.Now }; //Agregando un nuevo registro bd.Libros.InsertOnSubmit(entidadLibro); bd.SubmitChanges(); TempData["Message"] = "Libro agregado!"; } return(RedirectToAction("AgregarLibro")); }
public ActionResult ActualizarEstadoPedido(int idPedido, int idEstado) { var bd = new bdVentaLibrosDataContext(); var pedidoElegido = (from pedido in bd.Pedidos where pedido.idPedido == idPedido select pedido).FirstOrDefault(); pedidoElegido.idEstadoPedido = idEstado; try { bd.SubmitChanges(); TempData["Message"] = "Se actualizo el estado del pedido"; } catch (Exception e) { TempData["Message"] = "No se pudo actualizar el estado del pedido"; } return(RedirectToAction("VerPedido", new { idPedido = pedidoElegido.idPedido })); }
public ActionResult EliminarPublicacion(int idPublicacion) { var bd = new bdVentaLibrosDataContext(); int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]); var publicacionEliminar = (from publicacion in bd.PublicacionIntercambio where publicacion.idPublicacion == idPublicacion && publicacion.idEstado == 1 select publicacion).ToList(); //tambien tengo que eliminar los intercambios solicitados que no aún no han sido aceptados var intercambioInvolucrado = (from intercambio in bd.Intercambios where (intercambio.idPublicacionUsuario1 == idPublicacion || intercambio.idPublicacionUsuario2 == idPublicacion) && intercambio.idEstado == 1 select intercambio).ToList(); foreach (var intercambio in intercambioInvolucrado) { bd.Intercambios.DeleteOnSubmit(intercambio); } foreach (var publicacion in publicacionEliminar) { bd.PublicacionIntercambio.DeleteOnSubmit(publicacion); } try { bd.SubmitChanges(); TempData["Message"] = "Se ha eliminado su publicación."; } catch (Exception e) { TempData["Message"] = "No se ha eliminado su publicación. Verifique que no este asociado a ningun intercambio pendiente de confirmación"; } return(RedirectToAction("MisPublicacionesActivas")); }
public ActionResult IntercambioNoRealizado(int idPublicacion1, int idPublicacion2) { var bd = new bdVentaLibrosDataContext(); var intercambioNoRealizado = from intercambio in bd.Intercambios where intercambio.idPublicacionUsuario1 == idPublicacion1 && intercambio.idPublicacionUsuario2 == idPublicacion2 select intercambio; var habilitarPublicaciones = from publicacion in bd.PublicacionIntercambio where publicacion.idPublicacion == idPublicacion1 || publicacion.idPublicacion == idPublicacion2 select publicacion; //Vuelvo a habilitar las publicaciones de los dos libros involucrados foreach (var publicacion in habilitarPublicaciones) { publicacion.idEstado = 1; // 1 => 'ACTIVO' } //Elimino el intercambio foreach (var intercambio in intercambioNoRealizado) { bd.Intercambios.DeleteOnSubmit(intercambio); } try { bd.SubmitChanges(); TempData["Message"] = "Ups! Lamentamos el fracaso en el intercambio. Tu libro ha vuelto a publicarse"; } catch (Exception e) { TempData["Message"] = "No se pudo cancelar el intercambio. Intentelo de nuevo"; } return(RedirectToAction("SolicitudesIntercambio")); }
public ActionResult IntercambioRealizado(int idPublicacion1, int idPublicacion2) { var bd = new bdVentaLibrosDataContext(); var intercambioRealizado = from intercambio in bd.Intercambios where intercambio.idPublicacionUsuario1 == idPublicacion1 && intercambio.idPublicacionUsuario2 == idPublicacion2 select intercambio; var publicacionUsu1 = from publicacion in bd.PublicacionIntercambio where publicacion.idPublicacion == idPublicacion1 select publicacion; var publicacionUsu2 = from publicacion in bd.PublicacionIntercambio where publicacion.idPublicacion == idPublicacion2 select publicacion; foreach (var intercambio in intercambioRealizado) { intercambio.idEstado = 3; } foreach (var publicacion in publicacionUsu1) { publicacion.idEstado = 2; } foreach (var publicacion in publicacionUsu2) { publicacion.idEstado = 2; } bd.SubmitChanges(); TempData["Message"] = "Felicitaciones! El intercambio ha sido exitoso"; return(RedirectToAction("SolicitudesIntercambio")); }
public ActionResult ModificarAutor(AutorModel autorElegido) { var bd = new bdVentaLibrosDataContext(); var autorModificado = from autor in bd.Autores where autor.idAutor == autorElegido.idAutor select autor; foreach (var autor in autorModificado) { autor.apellidos = autorElegido.apellidoAutor; autor.nombres = autorElegido.nombreAutor; } try { bd.SubmitChanges(); TempData["Message"] = "Autor modificado"; } catch (Exception e) { TempData["Message"] = "No se pudo modificar los datos del autor. Intentelo nuevamente"; } return(RedirectToAction("AgregarAutor")); }
public ActionResult CancelarPedido(int idPedido) { var bd = new bdVentaLibrosDataContext(); int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]); var pedido = (from p in bd.Pedidos where p.idPedido == idPedido && p.idUsuario == idUsuario select p).FirstOrDefault(); pedido.idEstadoPedido = 7; try { bd.SubmitChanges(); TempData["Message"] = "Pedido cancelado. Nos comunicaremos con ud en la brevedad."; } catch (Exception e) { TempData["Message"] = "No se pudo cancelar el pedido. Intentelo de nuevo o contactenos via email"; } return(RedirectToAction("MisCompras")); }
public ActionResult ActualizarStock(string codBarra, int stockIngreso) { var bd = new bdVentaLibrosDataContext(); var libroActualizarStock = from libro in bd.Libros where libro.codigoBarra == codBarra select libro; foreach (var libro in libroActualizarStock) { libro.stock = libro.stock + stockIngreso; } try { bd.SubmitChanges(); TempData["Message"] = "Stock de ISBN " + codBarra + " fue actualizado"; ViewBag.listadoLibros = (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(); } catch (Exception ex) { ViewBag.listadoLibros = (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(); TempData["Message"] = "No se pudo actualizar el stock. Intente nuevamente"; } return(View()); }
public ActionResult RegistrarUsuario(UserModel user) { if (ModelState.IsValid) //Verificar que el modelo de datos sea válido en cuanto a la definición de las propiedades { if (IsUserValid(user.mail)) //Verificar si el usuario(email) existe utilizando el método privado { //El usuario no existe var bd = new bdVentaLibrosDataContext(); Usuarios nuevoUsuario = null; if (user.idProvincia > 0) { //Convierto el model a una entidad de dominio comentario nuevoUsuario = new Usuarios { //idUsuario = user.idUsuario, mail = user.mail, contraseña = user.contraseña, nombreUsuario = user.nombreUsuario, direccion = user.direccion, idProvincia = user.idProvincia, idLocalidad = user.idLocalidad, idPerfil = 2, fechaHoraAlta = DateTime.Now }; } else { nuevoUsuario = new Usuarios { //idUsuario = user.idUsuario, mail = user.mail, contraseña = user.contraseña, nombreUsuario = user.nombreUsuario, direccion = user.direccion, idPerfil = 2, fechaHoraAlta = DateTime.Now }; } //Agregando un nuevo registro bd.Usuarios.InsertOnSubmit(nuevoUsuario); //Hacer el submit bd.SubmitChanges(); WebSecurity.CreateUserAndAccount(nuevoUsuario.mail, nuevoUsuario.contraseña); Roles.AddUserToRole(nuevoUsuario.mail, "Cliente"); if (nuevoUsuario.idPerfil == 1) { WebMatrix.WebData.WebSecurity.Login("*****@*****.**", user.contraseña); } else { WebMatrix.WebData.WebSecurity.Login(nuevoUsuario.mail, nuevoUsuario.contraseña); } System.Web.HttpContext.Current.Session["IDUSUARIO"] = nuevoUsuario.idUsuario; System.Web.HttpContext.Current.Session["nombreUsuario"] = nuevoUsuario.nombreUsuario; FormsAuthentication.SetAuthCookie(nuevoUsuario.mail, false); //crea variable de user con el usuario return(RedirectToAction("Index", "Home")); //WebSecurity.CreateUserAndAccount(nuevoUsuario.nombreUsuario, nuevoUsuario.contraseña); //Roles.AddUserToRole(nuevoUsuario.nombreUsuario, "Cliente"); //FormsAuthentication.SetAuthCookie(user.mail, false); //crea variable de user con el usuario //return RedirectToAction("Index", "Home"); //dirigir al controlador home vista Index una vez se a autenticado en el sistema } else { //El usuario ya existe ModelState.AddModelError("", "Ya existe un usuario con ese email"); } } return(View()); }
public ActionResult Checkout(string nombreUsuario, string apellidoUsuario, int idProvincia, int idLocalidad, string codigoPostal, string mail, string direccion) { var bd = new bdVentaLibrosDataContext(); int idUsuario = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUSUARIO"]); string nombreProvincia = (from provincia in bd.Provincias where provincia.idProvincia == idProvincia select provincia.nombre).FirstOrDefault(); string nombreLocalidad = (from localidad in bd.Localidades where localidad.idLocalidad == idLocalidad select localidad.nombre).FirstOrDefault(); DatosEnvioModel envio = new DatosEnvioModel { nombreUsuario = nombreUsuario, apellidoUsuario = apellidoUsuario, provincia = nombreProvincia, localidad = nombreLocalidad, codigoPostal = codigoPostal, mail = mail, direccion = direccion }; Session["DatosEnvio"] = envio; ViewBag.datosEnvio = envio; 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; } Pedidos nuevoPedido = new Pedidos { idUsuario = idUsuario, fechaHora = DateTime.Now, fechaEntrega = DateTime.Now.AddDays(10), direccionEntrega = direccion, idLocalidadEntrega = idLocalidad, idProvinciaEntrega = idProvincia, idEstadoPedido = 1, //en espera de pago codigoPostalEntrega = codigoPostal, total = Convert.ToDecimal(totalCompra), nombre = nombreUsuario, apellido = apellidoUsuario, email = mail }; try { bd.Pedidos.InsertOnSubmit(nuevoPedido); bd.SubmitChanges(); } catch (Exception e) { TempData["Message"] = "No se pudo ingresar el pedido"; } var ultimoPedido = (from pedido in bd.Pedidos where pedido.idUsuario == idUsuario orderby pedido.fechaHora descending select pedido).FirstOrDefault(); ViewBag.pedido = ultimoPedido; if (Session["carrito"] != null) { foreach (var item in Session["carrito"] as List <CarritoItem> ) { DetallePorPedido detalle = new DetallePorPedido { idPedido = ultimoPedido.idPedido, codigoLibro = item.Libro.codigoBarra, cantidad = item.Cantidad, precioUnitario = Convert.ToDecimal(item.Libro.precio) }; bd.DetallePorPedido.InsertOnSubmit(detalle); } bd.SubmitChanges(); } return(View()); }