public ActionResult EditPartial(Int32 idVideo) { Video video = _context.Videos.Where(v => v.IdVideo == idVideo).Include(v => v.Objeto).FirstOrDefault(); if (video == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "Vídeo não encontrado")); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); if (video.Objeto.IdUsuario != usuarioLogado.IdUsuario) { video.Objeto.QtAcessos++; _context.Entry(video).State = EntityState.Modified; _context.SaveChanges(); Int32 noAvUsuario = 0; Avaliacao usuarioAvaliacao = video.Objeto.Avaliacoes.Where(a => a.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault(); if (usuarioAvaliacao != null) { noAvUsuario = usuarioAvaliacao.NoAvaliacao; } ViewBag.noAvUsuario = noAvUsuario; } video.Decrypt(); return(View("_VideoWatchPartial", video)); }
public ActionResult EditPartial() { Usuario usuario = AccountFacade.GetLoggedInUser(); usuario.PwUsuario = String.Empty; return(View("_EditPartial", usuario)); }
public ActionResult Follow(Int32 idObjeto) { Objeto objeto = _context.Objetos.Where(o => o.IdObjeto == idObjeto).FirstOrDefault(); if (objeto == null) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "Objeto não encontrado")); } Usuario usuario = _context.Usuarios.Include(u => u.Seguidores).Where(u => u.IdUsuario == objeto.IdUsuario).FirstOrDefault(); if (usuario == null) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "Usuário não encontrado")); } if (usuario.Seguidores == null) { usuario.Seguidores = new List <Usuario>(); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); if (usuario.Seguidores.Where(s => s.IdUsuario == usuarioLogado.IdUsuario).Count() > 0) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "Você já segue essa pessoa")); } usuario.Seguidores.Add(_context.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault()); _context.Entry(usuario).State = EntityState.Modified; _context.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult Delete(DataSourceRequest request, Artigo artigo) { Artigo artigoDel = _context.Artigos.Where(a => a.IdArtigo == artigo.IdArtigo).FirstOrDefault(); if (artigoDel == null) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "Artigo não encontrado")); } Objeto objeto = _context.Objetos.Include(o => o.Temas).Where(o => o.IdObjeto == artigoDel.IdObjeto).FirstOrDefault(); if (objeto.Temas != null) { objeto.Temas.Clear(); } Grupo grupo = _context.Grupos.Include(g => g.Usuarios).Where(g => g.IdObjeto != null && g.IdObjeto == objeto.IdObjeto).FirstOrDefault(); if (grupo != null) { if (grupo.Usuarios != null) { grupo.Usuarios.Clear(); } _context.Grupos.Remove(grupo); } _context.Artigos.Remove(artigoDel); _context.Objetos.Remove(objeto); _context.SaveChanges(); return(GetArtigos(request, AccountFacade.GetLoggedInUser().IdUsuario)); }
public ActionResult Avaliacao(Int32 idArtigo, Int32 noAvaliacao) { Artigo artigo = _context.Artigos.Where(a => a.IdArtigo == idArtigo).Include(a => a.Objeto).FirstOrDefault(); if (artigo == null) { return(new HttpStatusCodeResult(HttpStatusCode.OK)); } Objeto objeto = artigo.Objeto; if (objeto.Avaliacoes == null) { objeto.Avaliacoes = new List <Avaliacao>(); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser().Encrypt(); Avaliacao avaliacao = objeto.Avaliacoes.Where(a => a.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault(); if (avaliacao == null) { objeto.Avaliacoes.Add(new Avaliacao { IdUsuario = usuarioLogado.IdUsuario, NoAvaliacao = noAvaliacao }); } else { avaliacao.NoAvaliacao = noAvaliacao; _context.Entry(avaliacao).State = EntityState.Modified; } _context.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult AddObjectGroup(Int32 idObjeto) { Int32 idUsuarioLogado = AccountFacade.GetLoggedInUser().IdUsuario; List <Grupo> gruposFilter = _context.Grupos.Where(g => g.IdObjeto == null && g.Usuarios.Any(u => u.IdUsuario == idUsuarioLogado)).OrderBy(g => g.NmGrupo).Decrypt(); Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); Grupo grupoObj = null; while (grupoObj == null) { grupoObj = _context.Grupos.Include(g => g.Usuarios).Include(g => g.Salt) .Where(g => g.IdObjeto != null && g.IdObjeto == idObjeto).FirstOrDefault(); _context = new CoeusProjectContext(); } gruposFilter.Add(grupoObj.Decrypt()); return(Json(gruposFilter.Select(s => new Grupo { IdGrupo = s.IdGrupo, NmGrupo = s.NmGrupo }))); }
public ActionResult EditPartial(Int32 idArtigo) { Artigo artigo = _context.Artigos.Where(a => a.IdArtigo == idArtigo).FirstOrDefault(); if (artigo == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "Artigo não encontrado")); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); if (artigo.Objeto.IdUsuario != usuarioLogado.IdUsuario) { artigo.Objeto.QtAcessos++; _context.Entry(artigo).State = EntityState.Modified; _context.SaveChanges(); Int32 noAvUsuario = 0; Avaliacao usuarioAvaliacao = artigo.Objeto.Avaliacoes.Where(a => a.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault(); if (usuarioAvaliacao != null) { noAvUsuario = usuarioAvaliacao.NoAvaliacao; } ViewBag.noAvUsuario = noAvUsuario; } artigo.Decrypt(); return(View("_ArtigoEditPartial", artigo)); }
public ActionResult Create(String nmObjeto, String txDescricao, String txArtigo, List <InteresseVM> tags) { try { if (tags == null || tags.Count == 0) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "É necessário selecionar ao menos 1 tema para o artigo")); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); List <Objeto> objetos = (new CoeusProjectContext()).Objetos.Where(o => o.IdUsuario == usuarioLogado.IdUsuario).Decrypt(); if (objetos.Where(o => o.NmObjeto == nmObjeto).Count() > 0) { return(new HttpStatusCodeResult(HttpStatusCode.OK)); } Artigo artigo = new Artigo() { Objeto = new Objeto() { IdUsuario = usuarioLogado.IdUsuario, Salt = Salt.GetSalt(), NmObjeto = nmObjeto, TxDescricao = txDescricao }, TxArtigo = txArtigo }; artigo.Objeto.Temas = new List <Tema>(); foreach (InteresseVM interesse in tags) { artigo.Objeto.Temas.Add(_context.Temas.Where(t => t.NmTema == interesse.NmInteresse).FirstOrDefault()); } _context.Artigos.Add(artigo.Encrypt(_context)); Grupo artigoGrupo = new Grupo() { IdObjeto = artigo.IdObjeto, Salt = Salt.GetSalt(), Usuarios = new List <Usuario> { _context.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault() }, NmGrupo = nmObjeto }; _context.Grupos.Add(artigoGrupo.Encrypt(_context)); _context.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex))); } }
public ActionResult Edit(Int32 idGrupo, String nmGrupo, List <Usuario> usuarios) { try { Grupo grupo = _context.Grupos.Where(g => g.IdGrupo == idGrupo).Include(g => g.Usuarios).FirstOrDefault().Decrypt(); if (grupo == null) { throw new Exception("Grupo inexistente"); } List <Usuario> usuariosGrupo = grupo.Usuarios.ToList(); if (String.IsNullOrEmpty(nmGrupo)) { throw new Exception("Nome inválido para o grupo"); } if (usuarios == null || usuarios.Count() == 0) { throw new Exception("É necessário selecionar algum usuário para o grupo"); } grupo.NmGrupo = nmGrupo; for (int i = usuariosGrupo.Count() - 1; i >= 0; i--) { if (usuarios.Where(u => u.IdUsuario == usuariosGrupo[i].IdUsuario).Count() == 0) { grupo.Usuarios.Remove(usuariosGrupo[i]); } } for (int i = usuarios.Count() - 1; i >= 0; i--) { if (usuariosGrupo.Where(ug => ug.IdUsuario == usuarios[i].IdUsuario).Count() == 0) { Int32 idUsuarioAdded = usuarios[i].IdUsuario; grupo.Usuarios.Add(_context.Usuarios.Where(u => u.IdUsuario == idUsuarioAdded).FirstOrDefault()); } } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); if (grupo.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).Count() == 0) { grupo.Usuarios.Add(_context.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault()); } grupo.Encrypt(); _context.Entry(grupo).State = EntityState.Modified; _context.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex))); } }
public void Join() { Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); foreach (Grupo grupo in usuarioLogado.Grupos) { Groups.Add(Context.ConnectionId, grupo.IdGrupo.ToString()); } }
public ActionResult CreatePartial() { Artigo artigo = new Artigo() { Objeto = new Objeto() { IdUsuario = AccountFacade.GetLoggedInUser().IdUsuario } }; return(View("_ArtigoEditPartial", artigo)); }
public void JoinObjectChat(Int32 idObject = 0) { Boolean changed = false; CoeusProjectContext context = new CoeusProjectContext(); Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); IQueryable <Grupo> userObjectGroup = context.Grupos.Where(g => g.IdObjeto != null && g.Usuarios.Any(u => u.IdUsuario == usuarioLogado.IdUsuario)); List <Grupo> gruposList = userObjectGroup.ToList(); foreach (Grupo grupo in userObjectGroup) { Groups.Remove(Context.ConnectionId, grupo.IdGrupo.ToString()); } Objeto objeto = context.Objetos.Where(o => o.IdObjeto == idObject).Include(o => o.Salt).FirstOrDefault().Decrypt(); Grupo grupoObj = context.Grupos.Include(g => g.Usuarios).Where(g => g.IdObjeto != null && g.IdObjeto == idObject).FirstOrDefault(); if (grupoObj == null) { changed = true; grupoObj = new Grupo() { IdObjeto = idObject, Salt = Salt.GetSalt(), NmGrupo = objeto.NmObjeto }; context.Grupos.Add(grupoObj.Encrypt()); } if (grupoObj.Usuarios == null) { grupoObj.Usuarios = new List <Usuario>(); } if (grupoObj.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).Count() == 0) { changed = true; grupoObj.Usuarios.Add(context.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault()); } if (changed) { objeto.Encrypt(); context.Entry(objeto).State = EntityState.Modified; context.SaveChanges(); } Groups.Add(Context.ConnectionId, grupoObj.IdGrupo.ToString()); }
public ActionResult Login() { (new FileController()).CleanImages(_context); Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); if (usuarioLogado != null) { //return View("Home/Index"); return(RedirectToAction("Index", "Home")); } return(View()); }
public ActionResult Create(String nmGrupo, List <Usuario> usuarios) { try { if (String.IsNullOrEmpty(nmGrupo)) { throw new Exception("O nome do grupo é obrigatório"); } if (usuarios == null || usuarios.Count() == 0) { throw new Exception("É necessário selecionar algum usuário para o grupo"); } Grupo grupo = new Grupo { NmGrupo = nmGrupo, Usuarios = new List <Usuario>(), Salt = Salt.GetSalt() }; foreach (Usuario usuario in usuarios) { Usuario grupoUser = _context.Usuarios.Where(u => u.IdUsuario == usuario.IdUsuario).FirstOrDefault(); if (grupoUser == null || grupo.Usuarios.Contains(grupoUser)) { continue; } grupo.Usuarios.Add(grupoUser); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); if (grupo.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).Count() == 0) { grupo.Usuarios.Add(_context.Usuarios.Where(u => u.IdUsuario == usuarioLogado.IdUsuario).FirstOrDefault()); } grupo.Encrypt(); _context.Grupos.Add(grupo); _context.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex))); } }
private IEnumerable <ObjetoVM> GetObjetos() { Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); List <int> idUsuarioTemas = usuarioLogado.Temas.Select(t => t.IdTema).ToList(); IQueryable <Objeto> objetos = _context.Objetos .Where(o => o.Temas.Any(t => idUsuarioTemas.Contains(t.IdTema)) || o.IdUsuario == usuarioLogado.IdUsuario); IQueryable <Usuario> seguindo = _context.Usuarios.Include(u => u.Objetos) .Where(u => u.Seguidores.Any(s => s.IdUsuario == usuarioLogado.IdUsuario)); IQueryable <Objeto> objetosSeguindo = seguindo.SelectMany(s => s.Objetos); objetos = objetos.Union(objetosSeguindo).OrderByDescending(o => o.IdObjeto); return(objetos.Decrypt().Select(o => new ObjetoVM(o))); }
public ActionResult Create(String nmObjeto, String txDescricao, String txUrl, String txUrlPoster, List <InteresseVM> tags) { try { if (tags == null || tags.Count == 0) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "É necessário selecionar ao menos 1 tema para o vídeo")); } Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); List <Objeto> objetos = (new CoeusProjectContext()).Objetos.Where(o => o.IdUsuario == usuarioLogado.IdUsuario).Decrypt(); if (objetos.Where(o => o.NmObjeto == nmObjeto).Count() > 0) { return(new HttpStatusCodeResult(HttpStatusCode.OK)); } Video video = new Video() { Objeto = new Objeto() { IdUsuario = usuarioLogado.IdUsuario, Salt = Salt.GetSalt(), NmObjeto = nmObjeto, TxDescricao = txDescricao }, TxUrl = txUrl, TxUrlPoster = (new FileController()).FormatPoster(txUrlPoster) }; video.Objeto.Temas = new List <Tema>(); foreach (InteresseVM interesse in tags) { video.Objeto.Temas.Add(_context.Temas.Where(t => t.NmTema == interesse.NmInteresse).FirstOrDefault()); } _context.Videos.Add(video.Encrypt(_context)); _context.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex))); } }
public ActionResult RegisterPartial() { Usuario usuario = AccountFacade.GetLoggedInUser(); if (usuario != null) { return(Content(" ")); } usuario = new Usuario(); usuario.NmFoto = Sequence.GetSequence("foto").ToString(); String physicalPath = Server.MapPath("~/User_Data/") + usuario.NmFoto + ".png"; if (System.IO.File.Exists(physicalPath)) { System.IO.File.Delete(physicalPath); } System.IO.File.Copy(Server.MapPath("~/Images/userNoPhoto.png"), physicalPath); return(View("~/Views/Account/_RegisterPartial.cshtml", usuario)); }
public ActionResult GetGrupoWhereNmGrupoStartsWith(String nmGrupo) { Usuario usuarioLogado = AccountFacade.GetLoggedInUser(); List <Grupo> grupos = _context.Grupos.Where(g => g.Usuarios.Any(u => u.IdUsuario == usuarioLogado.IdUsuario) && g.IdObjeto == null) .Include(g => g.Usuarios).Decrypt(); if (!String.IsNullOrEmpty(nmGrupo)) { grupos = grupos.Where(g => g.NmGrupo.StartsWith(nmGrupo)).ToList(); } if (grupos == null) { return(Json("", JsonRequestBehavior.AllowGet)); } return(Json(grupos.Select(g => new { IdGrupo = g.IdGrupo, NmGrupo = g.NmGrupo }), JsonRequestBehavior.AllowGet)); }