예제 #1
0
        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"));
        }
예제 #2
0
        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());
        }
예제 #3
0
        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 }));
        }
예제 #4
0
        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());
        }
예제 #5
0
        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"));
        }
예제 #6
0
        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 }));
        }
예제 #7
0
        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"));
        }
예제 #8
0
        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"));
        }
예제 #9
0
        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"));
        }
예제 #10
0
        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"));
        }
예제 #11
0
        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"));
        }
예제 #12
0
        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 }));
        }
예제 #13
0
        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"));
        }
예제 #14
0
        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"));
        }
예제 #15
0
        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"));
        }
예제 #16
0
        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"));
        }
예제 #17
0
        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"));
        }
예제 #18
0
        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());
        }
예제 #19
0
        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());
        }
예제 #20
0
        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());
        }