public ActionResult Perfil(PerfilEdit model)
        {
            DataClasses1DataContext per = new DataClasses1DataContext();

            if (per.perfils.Where(a => a.UserId == (Guid)Session["ids"]).ToList().Count == 0)
            {
                string sqlTimeAsString = model.fecha.ToString("yyyy-MM-ddTHH:mm:ss.fff");
                System.Guid IdUs = (Guid)Session["ids"];
                perfil p = new perfil() { nombre = model.nombre, apellido = model.apellido, apellidom = model.apellidom, ubicacion = model.ubicacion, intereses = model.interes, fecha = DateTime.Now, UserId = IdUs, };
                per.perfils.InsertOnSubmit(p);
                per.SubmitChanges();
                return RedirectToAction("Index", "EditPerfil");

            }
            else
            {
                var o = per.perfils.Where(a => a.UserId == (Guid)Session["ids"]);

                perfil p = new perfil() { nombre = model.nombre, apellido = model.apellido, apellidom = model.apellidom, ubicacion = model.ubicacion, intereses = model.interes, fecha = DateTime.Now, UserId = (Guid)Session["ids"] };
                o.ToArray()[0].nombre = model.nombre;
                o.ToArray()[0].apellido = model.apellido;
                o.ToArray()[0].apellidom = model.apellidom;
                o.ToArray()[0].intereses = model.interes;
                o.ToArray()[0].fecha = DateTime.Now;
                o.ToArray()[0].ubicacion = model.ubicacion;

                per.SubmitChanges();

                return RedirectToAction("Index", "EditPerfil");
            }
        }
 public ActionResult BorrarComentario(int id)
 {
     DataClasses1DataContext db = new DataClasses1DataContext();
     comentario comentario = db.comentarios.Where(q => q.idComentario == id).ToArray()[0];
     db.comentarios.DeleteOnSubmit(comentario);
     db.SubmitChanges();
     return RedirectToAction("Index", "ModeracionComentario");
 }
        public ActionResult Articulo(Articulo model)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();
            //System.Guid ddd = (Guid)Session["ids"];
            var est = true;
            Boolean e = (bool)est;

            publicacion p = new publicacion() { UserId = (Guid)Session["ids"], estado = e, fecha = model.fecha };
            db.publicacions.InsertOnSubmit(p);
            db.SubmitChanges();

            publicacion ip = db.publicacions.Where(aa => aa.UserId == (Guid)Session["ids"]).ToArray()[0];

            articulo a = new articulo() { titulo = model.titulo, fecha = model.fecha, puntuacion = model.puntuacion, detalle = model.detalle, idPublicacion = ip.idPublicacion };
            db.articulos.InsertOnSubmit(a);
            db.SubmitChanges();
            return RedirectToAction("Index", "Articulo");
        }
        public ActionResult Articulo(Articulo model)
        {
            if (ModelState.IsValid)
            {
                DataClasses1DataContext db = new DataClasses1DataContext();
                publicacion p = new publicacion() { UserId = (Guid)Session["ids"], estado = false, fecha = DateTime.Now };
                db.publicacions.InsertOnSubmit(p);
                db.SubmitChanges();
                // publicacion ip = db.publicacions.Where(b => b.UserId == (Guid)Session["ids"]).ToArray()[0];
                publicacion ip = db.publicacions.Where(b => b.UserId == (Guid)Session["ids"]).OrderByDescending(e => e.idPublicacion).ToArray()[0];
                articulo a = new articulo() { titulo = model.titulo, fecha = DateTime.Now, puntuacion = 10, detalle = model.detalle, idPublicacion = ip.idPublicacion };
                db.articulos.InsertOnSubmit(a);
                db.SubmitChanges();

                string[] arraycategorias = model.nombrecate.ToLower().Split(',');
                List<categoria> listacategoria = new List<categoria>();
                foreach (var items in arraycategorias)
                {
                    string item = items.Trim();
                    if (db.categorias.Where(b => b.nombre == item).Count() == 0)
                    {
                        listacategoria.Add(new categoria() { nombre = item, estado = false, fecha = DateTime.Now });

                    }

                }
                if (listacategoria.ToList().Count() > 0)
                {
                    db.categorias.InsertAllOnSubmit(listacategoria);
                    db.SubmitChanges();
                    @ViewBag.mensaje = "las categorias se crearon con exito";

                }

                categoria idcate = db.categorias.ToArray()[0];
                publicacion_categoria c = new publicacion_categoria() { idCategoria = idcate.idCategoria, idPublicacion = ip.idPublicacion };
                db.publicacion_categorias.InsertOnSubmit(c);
                db.SubmitChanges();

                return RedirectToAction("Enviado", "Publicacion");
            }
            return View(model);
        }
 public ActionResult ReeditarArticulo(int id,Articulo model)
 {
     DataClasses1DataContext db = new DataClasses1DataContext();
     var c = db.articulos.Where(i => i.idPublicacion == id);
     articulo cu = new articulo() { titulo = model.titulo, detalle = model.detalle, fecha = DateTime.Now };
     c.ToArray()[0].titulo = model.titulo;
     c.ToArray()[0].detalle = model.detalle;
     c.ToArray()[0].fecha = DateTime.Now;
     db.SubmitChanges();
     return RedirectToAction("index", "Home");
 }
        public ActionResult PublicarArticulo(int id)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();
            var pub = db.publicacions.Where(a => a.idPublicacion == id);
            publicacion p = new publicacion() { estado = true };
            pub.ToArray()[0].estado = true;
            db.SubmitChanges();
            //cambia el estado a 1

            System.Guid idusu  = db.publicacions.Where(v=>v.idPublicacion==id).Select(i=>i.UserId).ToArray()[0];
            if (db.karmas.Where(d => d.UserId == idusu).ToList().Count == 0)
            {
                karma k = new karma() { UserId = idusu ,detalle = "puntaje  de karma", total = 10, fecha = DateTime.Now };
                db.karmas.InsertOnSubmit(k);
                db.SubmitChanges();
            }
            else {

                List<karma>   karma= db.karmas.Where(g => g.UserId == idusu).ToList();
                //kar.Sum = kar(double) + 10;
                double j = 0;
                foreach (var u in karma) {
                    double h = u.total ;
                     j = h + 10;
                }
                var l=db.karmas.Where(ll=>ll.UserId == idusu);
                karma ka = new karma() { UserId=idusu,detalle="puntaje",total = j, fecha=DateTime.Now };
                l.ToArray()[0].UserId = idusu;
                l.ToArray()[0].detalle ="puntaje";
                l.ToArray()[0].total = j;
                l.ToArray()[0].fecha = DateTime.Now;
                db.SubmitChanges();

            }

            //return View();
            return RedirectToAction("Index","ModeracionContenido");
        }
        public ActionResult Libro(HttpPostedFileBase uploadFile,HttpPostedFileBase libroFile, Libro model)
        {
            if (ModelState.IsValid)
            {
                DataClasses1DataContext db = new DataClasses1DataContext();
                if (uploadFile.ContentLength > 0 && libroFile.ContentLength > 0)
                {   //llena en publicacion
                    publicacion p = new publicacion() { UserId = (Guid)Session["ids"], estado = false, fecha = DateTime.Now };
                    db.publicacions.InsertOnSubmit(p);
                    db.SubmitChanges();
                    //inserta la imagen en archivo
                    string filePath = Path.Combine(HttpContext.Server.MapPath("../ImagenesLib"), Path.GetFileName(uploadFile.FileName));
                    uploadFile.SaveAs(filePath);
                    publicacion ip = db.publicacions.Where(b => b.UserId == (Guid)Session["ids"]).OrderByDescending(e => e.idPublicacion).ToArray()[0];
                    archivo img = new archivo() { rutafisica = filePath, rutavirtual = "/ImagenesLib/" + uploadFile.FileName, idPublicacion = ip.idPublicacion, fecha = DateTime.Now };
                    db.archivos.InsertOnSubmit(img);
                    db.SubmitChanges();
                    //inserta el libro
                    string librofilePath = Path.Combine(HttpContext.Server.MapPath("../Libro"), Path.GetFileName(libroFile.FileName));
                    uploadFile.SaveAs(librofilePath);
                    //llena en libro
                    libro lib = new libro() { idPublicacion = ip.idPublicacion, titulo = model.titulo, fecha = DateTime.Now, puntuacion = 100, Autor = model.Autor, Annio_pub = model.Annio_pub, rutafisica = librofilePath, rutavirtual = "/Libro/" + libroFile.FileName, detalle = model.detalle };
                    db.libros.InsertOnSubmit(lib);
                    db.SubmitChanges();

                    string[] arraycategorias = model.nombrecate.ToLower().Split(',');
                    List<categoria> listacategoria = new List<categoria>();
                    foreach (var items in arraycategorias)
                    {
                        string item = items.Trim();
                        if (db.categorias.Where(b => b.nombre == item).Count() == 0)
                        {
                            listacategoria.Add(new categoria() { nombre = item, estado = false, fecha = DateTime.Now });

                        }

                    }
                    if (listacategoria.ToList().Count() > 0)
                    {
                        db.categorias.InsertAllOnSubmit(listacategoria);
                        db.SubmitChanges();
                        @ViewBag.mensaje = "las categorias se crearon con exito";

                    }

                    categoria idcate = db.categorias.ToArray()[0];
                    publicacion_categoria c = new publicacion_categoria() { idCategoria = idcate.idCategoria, idPublicacion = ip.idPublicacion };
                    db.publicacion_categorias.InsertOnSubmit(c);
                    db.SubmitChanges();

                }
                return RedirectToAction("Enviado", "Publicacion");
            }
            return View(model);
        }
 public ActionResult Rechazar(observarcion model,int id)
 {
     DataClasses1DataContext db = new DataClasses1DataContext();
     var pub = db.publicacions.Where(a => a.idPublicacion == id);
     publicacion p = new publicacion() { observaciones = model.observaciones };
     pub.ToArray()[0].observaciones = model.observaciones;
     db.SubmitChanges();
     return RedirectToAction("Index", "ModeracionContenido");
 }
        public ActionResult SubirImg(HttpPostedFileBase uploadFile)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();
            if (uploadFile.ContentLength > 0) {
                string filePath = Path.Combine(HttpContext.Server.MapPath("../Imagenes"), Path.GetFileName(uploadFile.FileName));
                uploadFile.SaveAs(filePath);
                perfil idper = db.perfils.Where(a => a.UserId == (Guid)Session["ids"]).ToArray()[0];
                avatar img = new avatar() { rutafisica = filePath, rutavirtual = "/Imagenes/" + uploadFile.FileName, idPerfil = idper.idPerfil, fecha = DateTime.Now };
                db.avatars.InsertOnSubmit(img);
                db.SubmitChanges();

            }
            return RedirectToAction("Perfil", "EditPerfil");
        }
        public ActionResult Tutorial(HttpPostedFileBase tutoFile, Tutorial model)
        {
            if (ModelState.IsValid)
            {
                DataClasses1DataContext db = new DataClasses1DataContext();
                if (tutoFile.ContentLength > 0)
                {
                    //inserta en publicacion
                    publicacion p = new publicacion() { UserId = (Guid)Session["ids"], estado = false, fecha = DateTime.Now };
                    db.publicacions.InsertOnSubmit(p);
                    db.SubmitChanges();
                    publicacion ip = db.publicacions.Where(b => b.UserId == (Guid)Session["ids"]).OrderByDescending(e => e.idPublicacion).ToArray()[0];
                    //guarda la imagen
                    string filePath = Path.Combine(HttpContext.Server.MapPath("../imagenescurso"), Path.GetFileName(tutoFile.FileName));
                    tutoFile.SaveAs(filePath);
                    //inserta en archivo
                    archivo img = new archivo() { rutafisica = filePath, rutavirtual = "/imagenescurso/" + tutoFile.FileName, idPublicacion = ip.idPublicacion, fecha = DateTime.Now };
                    db.archivos.InsertOnSubmit(img);
                    db.SubmitChanges();
                    //inserta en tutorial
                    tutorial a = new tutorial() { titulo = model.titulo, fecha = DateTime.Now, puntuacion = 50, detalle = model.detalle, idPublicacion = ip.idPublicacion };
                    db.tutorials.InsertOnSubmit(a);
                    db.SubmitChanges();

                    //para las categorias
                    string[] arraycategorias = model.nombrecate.ToLower().Split(',');
                    List<categoria> listacategoria = new List<categoria>();
                    List<categoria> listaverdadera = new List<categoria>();
                    List<publicacion_categoria> rel = new List<publicacion_categoria>();

                    foreach (var items in arraycategorias)
                    {
                        string item = items.Trim();
                        if (db.categorias.Where(b => b.nombre == item).Count() == 0)
                        {
                            listacategoria.Add(new categoria() { nombre = item, estado = false, fecha = DateTime.Now });

                        }
                        else
                        {
                            categoria idcat = db.categorias.Where(z => z.nombre == item).ToArray()[0];
                            listaverdadera.Add(new categoria() { idCategoria = idcat.idCategoria, nombre = item, estado = false, fecha = DateTime.Now });
                        }

                    }
                    if (listacategoria.ToList().Count() > 0)
                    {
                        db.categorias.InsertAllOnSubmit(listacategoria);
                        db.SubmitChanges();
                        @ViewBag.mensaje = "las categorias se crearon con exito";

                    }
                    foreach (var nue in listacategoria)
                    {
                        categoria idcat = db.categorias.Where(z => z.nombre == nue.nombre).ToArray()[0];
                        listaverdadera.Add(new categoria() { idCategoria = idcat.idCategoria, nombre = nue.nombre, estado = false, fecha = DateTime.Now });
                    }
                    foreach (var rela in listaverdadera)
                    {
                        rel.Add(new publicacion_categoria() { idCategoria = rela.idCategoria, idPublicacion = ip.idPublicacion });

                    }
                    if (rel.ToList().Count() > 0)
                    {
                        db.publicacion_categorias.InsertAllOnSubmit(rel);
                        db.SubmitChanges();
                    }
                }
                else
                {
                    return View(model);
                }
                return RedirectToAction("Enviado", "Publicacion");
            }
            return View(model);
        }
 public ActionResult ReeditarLibro(int id, Libro model)
 {
     DataClasses1DataContext db = new DataClasses1DataContext();
         var l = db.libros.Where(li => li.idPublicacion == id);
         libro libr = new libro() { titulo = model.titulo, fecha = DateTime.Now, Autor = model.Autor, Annio_pub = model.Annio_pub, detalle = model.detalle};
         l.ToArray()[0].titulo = model.titulo;
         l.ToArray()[0].fecha = DateTime.Now;
         l.ToArray()[0].Autor = model.Autor;
         l.ToArray()[0].Annio_pub = model.Annio_pub;
         l.ToArray()[0].detalle = model.detalle;
         db.SubmitChanges();
     return View();
 }
        public ActionResult Comentar(Comentario model, int id)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();
            if (Session["ids"] != null)
            {
                if (db.comentarios.Where(ss => ss.UserId == (Guid)Session["ids"]).Where(tt => tt.infraccion == 1).ToList().Count <= 3)
                {
                    System.Guid idusu = (Guid)Session["ids"];
                    string[] arraycomentario = model.Descripcion.ToLower().Split(' ');
                    List<diccionario> malaspalabras = new List<diccionario>();
                    foreach (var items in arraycomentario)
                    {
                        string item = items.Trim();
                        if (db.diccionarios.Where(x => x.palabra == item).Count() != 0)
                        {
                            foreach (var ii in db.diccionarios)
                            {
                                if (ii.palabra == item)
                                {
                                    malaspalabras.Add(new diccionario() { palabra = item });
                                }
                            }
                        }
                    }
                    if (malaspalabras.ToList().Count() > 0)
                    {

                        comentario a = new comentario() { UserId = idusu, idPublicacion = id, Descripcion = model.Descripcion, puntuacion = 0.5, fecha = DateTime.Now, infraccion = 1 };
                        db.comentarios.InsertOnSubmit(a);
                        db.SubmitChanges();
                    }
                    else
                    {
                        comentario a = new comentario() { UserId = idusu, idPublicacion = id, Descripcion = model.Descripcion, puntuacion = 0.5, fecha = DateTime.Now, infraccion = 0 };
                        db.comentarios.InsertOnSubmit(a);
                        db.SubmitChanges();
                    }
                    //actualiza su karma
                    if (db.karmas.Where(d => d.UserId == idusu).ToList().Count == 0)
                    {
                        karma k = new karma() { UserId = idusu, detalle = "puntaje  de karma", total = 0.5, fecha = DateTime.Now };
                        db.karmas.InsertOnSubmit(k);
                        db.SubmitChanges();
                    }
                    else
                    {
                        List<karma> karma = db.karmas.Where(g => g.UserId == idusu).ToList();
                        //kar.Sum = kar(double) + 10;
                        double j = 0;
                        foreach (var u in karma)
                        {
                            double h = u.total;
                            j = h + 0.5;
                        }
                        var l = db.karmas.Where(ll => ll.UserId == idusu);
                        karma ka = new karma() { UserId = idusu, detalle = "puntaje", total = j, fecha = DateTime.Now };
                        l.ToArray()[0].UserId = idusu;
                        l.ToArray()[0].detalle = "puntaje";
                        l.ToArray()[0].total = j;
                        l.ToArray()[0].fecha = DateTime.Now;
                        db.SubmitChanges();

                    }
                    int i = id;
                    if (db.libros.Where(v => v.idPublicacion == i).ToList().Count != 0)
                    {
                        return RedirectToAction("Vlibro", "Home", new { id = id });
                    }
                    if (db.cursos.Where(v => v.idPublicacion == i).ToList().Count != 0)
                    {
                        return RedirectToAction("Vcurso", "Home", new { id = id });
                    }
                    if (db.articulos.Where(v => v.idPublicacion == i).ToList().Count != 0)
                    {
                        return RedirectToAction("Varticulo", "Home", new { id = id });

                    }
                    if (db.tutorials.Where(v => v.idPublicacion == i).ToList().Count != 0)
                    {
                        return RedirectToAction("Vtutorial", "Home", new { id = id });

                    }

                    return RedirectToAction("Index", "Home");

                }
                else
                {
                    System.Guid IdUs = db.aspnet_Users.Where(a => a.UserId == (Guid)Session["ids"]).Select(a => a.UserId).ToArray()[0];
                    System.Guid IdRol = db.aspnet_Roles.Where(a => a.RoleName == "vaneado").Select(a => a.RoleId).ToArray()[0];
                    //elimina la fila relacion
                    aspnet_UsersInRole v = db.aspnet_UsersInRoles.Where(n => n.UserId == IdUs).ToArray()[0];
                    db.aspnet_UsersInRoles.DeleteOnSubmit(v);
                    db.SubmitChanges();

                    //agrega la nueva relacion de usuario vaneado
                    var vane = db.aspnet_UsersInRoles.Where(f => f.UserId == IdUs);
                    aspnet_UsersInRole rel = new aspnet_UsersInRole() { RoleId = IdRol, UserId = IdUs };
                    db.aspnet_UsersInRoles.InsertOnSubmit(rel);
                    db.SubmitChanges();

                    ViewBag.Message = "UD A SIDO BANEADO DEL SISTEMA POR REALIZAR COMENTARIOS ABUSIVOS";
                    return RedirectToAction("LogOn", "Account");
                }
            }
            else
            {
                ViewBag.Message = "DEBE ESTAR REGISTRADO";
                return RedirectToAction("LogOn", "Account");

            }
        }
        public ActionResult megusta(int id)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();
            if ((Guid)Session["ids"] != null)
            {
                if (db.karma2s.Where(g => g.UserId == (Guid)Session["ids"]).ToList().Count() == 0)
                {
                    ViewBag.id = id;
                    System.Guid idus = (Guid)Session["ids"];
                    if (db.karmas.Where(g => g.UserId == (Guid)Session["ids"]).ToList().Count() == 0)
                    {
                        karma kk = new karma() { UserId = idus, detalle = "puntajes de karma", total = 1, fecha = DateTime.Now };
                        db.karmas.InsertOnSubmit(kk);
                        db.SubmitChanges();
                        ViewBag.estado = 1;
                        karma2 k = new karma2() { UserId = idus, idPublicacion = id };
                        db.karma2s.InsertOnSubmit(k);
                        db.SubmitChanges();
                    }
                    else
                    {
                        List<karma> karma = db.karmas.Where(g => g.UserId == idus).ToList();
                        double j = 0;
                        foreach (var u in karma)
                        {
                            double h = u.total;
                            j = h + 1;
                        }
                        var l = db.karmas.Where(ll => ll.UserId == idus);
                        karma ka = new karma() { UserId = idus, detalle = "puntaje", total = j, fecha = DateTime.Now };
                        l.ToArray()[0].UserId = idus;
                        l.ToArray()[0].detalle = "puntaje";
                        l.ToArray()[0].total = j;
                        l.ToArray()[0].fecha = DateTime.Now;
                        db.SubmitChanges();
                        ViewBag.estado = 1;
                        karma2 k = new karma2() { UserId = idus, idPublicacion = id };
                        db.karma2s.InsertOnSubmit(k);
                        db.SubmitChanges();
                    }
                    int i = id;
                    if (db.libros.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Vlibro", "Home", new { id = id });
                    }
                    if (db.cursos.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Vcurso", "Home", new { id = id });
                    }
                    if (db.articulos.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Varticulo", "Home", new { id = id });
                    }
                    if (db.tutorials.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Vtutorial", "Home", new { id = id });
                    }
                }
                else
                {
                    ViewBag.estado = 0;
                    ViewBag.id = id;
                    System.Guid idus = (Guid)Session["ids"];
                    List<karma> karma = db.karmas.Where(g => g.UserId == idus).ToList();
                    double j = 0;
                    foreach (var u in karma)
                    {
                        double h = u.total;
                        j = h - 1;
                    }
                    var l = db.karmas.Where(ll => ll.UserId == idus);
                    karma k = new karma() { UserId = idus, detalle = "puntaje", total = j, fecha = DateTime.Now };
                    l.ToArray()[0].UserId = idus;
                    l.ToArray()[0].detalle = "puntaje";
                    l.ToArray()[0].total = j;
                    l.ToArray()[0].fecha = DateTime.Now;
                    db.SubmitChanges();
                    karma2 bk = db.karma2s.Where(r => r.UserId == idus).ToArray()[0];
                    db.karma2s.DeleteOnSubmit(bk);
                    db.SubmitChanges();

                    int i = id;
                    if (db.libros.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Vlibro", "Home", new { id = id });
                    }
                    if (db.cursos.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Vcurso", "Home", new { id = id });
                    }
                    if (db.articulos.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Varticulo", "Home", new { id = id });
                    }
                    if (db.tutorials.Where(v => v.idPublicacion == i).ToList().Count() != 0)
                    {
                        return RedirectToAction("Vtutorial", "Home", new { id = id });
                    }
                }
            }
            else
            {
                return RedirectToAction("LogOn","Account");
            }
            return RedirectToAction("Index","Home");
        }