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 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 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))); } }
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 Register(Usuario usuario, List <InteresseVM> interesses) { if ((new CoeusProjectContext()).Usuarios.Decrypt().Where(u => u.TxEmail == usuario.TxEmail).Count() > 0) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, "O e-mail informado já pertence à outro usuário")); } if (interesses == null || interesses.Count() == 0) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "É necessário selecionar ao menos um interesse")); } usuario.Temas = new List <Tema>(); foreach (InteresseVM interesse in interesses) { usuario.Temas.Add(_context.Temas.Where(t => t.NmTema == interesse.NmInteresse).FirstOrDefault()); } usuario.NmFoto = (new FileController()).FormatImage(usuario.NmFoto); usuario.Salt = Salt.GetSalt(0, _context); if (ModelState.IsValid) { try { _context.Usuarios.Add(usuario.Encrypt(_context)); _context.SaveChanges(); AccountFacade.Login(usuario, false); return(Content(Url.Action("Index", "Home"))); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ex))); } } return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable, ErrorFacade.GetErrorMessage(ModelState))); }