public async Task <ActionResult> Acessar(AcessarModel model) { if (!ModelState.IsValid) { return(View(model)); } var connectandoMongoDb = new AcessoMongoDB(); var construtor = Builders <Usuario> .Filter; var condicao = construtor.Eq(x => x.Email, model.Email); var user = await connectandoMongoDb.Usuarios.Find(condicao).SingleOrDefaultAsync(); if (user == null) { ModelState.AddModelError("Email", "Correio não foi registrado."); return(View(model)); } var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, user.Nome), new Claim(ClaimTypes.Email, user.Email) }, "ApplicationCookie"); var context = Request.GetOwinContext(); var authManager = context.Authentication; authManager.SignIn(identity); return(Redirect(GetRedirectUrl(model.RetornoUrl))); }
public async Task <ActionResult> Index() { var connectandoMongoDB = new AcessoMongoDB(); var Filtro = new BsonDocument(); var PublicacoesRecentes = await connectandoMongoDB.Publicacoes.Find(Filtro).SortByDescending(x => x.DataCriacao).Limit(10).ToListAsync(); var model = new IndexModel { PublicacoesRecentes = PublicacoesRecentes }; return(View(model)); }
public async Task <ActionResult> Registrar(RegistrarModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = new Usuario { Nome = model.Nome, Email = model.Email }; var connectandoMongoDB = new AcessoMongoDB(); await connectandoMongoDB.Usuarios.InsertOneAsync(user); return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> Publicacoes(string tag = null) { var connectandMongoDB = new AcessoMongoDB(); var posts = new List <Publicacao>(); if (tag == null) { var Filtro = new BsonDocument(); posts = await connectandMongoDB.Publicacoes.Find(Filtro).SortByDescending(x => x.DataCriacao).Limit(10).ToListAsync(); } else { var construtor = Builders <Publicacao> .Filter; var condicao = construtor.AnyEq(x => x.Tags, tag); posts = await connectandMongoDB.Publicacoes.Find(condicao).SortByDescending(x => x.DataCriacao).Limit(10).ToListAsync(); } return(View(posts)); }
public async Task <ActionResult> Publicacao(string id) { var connectarMongoDB = new AcessoMongoDB(); var publicacao = await connectarMongoDB.Publicacoes.Find(x => x.Id == id).SingleOrDefaultAsync(); if (publicacao == null) { return(RedirectToAction("Index")); } var model = new PublicacaoModel { Publicacao = publicacao, NovoComentario = new NovoComentarioModel { PublicacaoId = id } }; return(View(model)); }
public async Task <ActionResult> NovaPublicacao(NovaPublicacaoModel model) { if (!ModelState.IsValid) { return(View(model)); } var post = new Publicacao { Autor = User.Identity.Name, Titulo = model.Titulo, Conteudo = model.Conteudo, Tags = model.Tags.Split(' ', ',', ';'), DataCriacao = DateTime.UtcNow, Comentarios = new List <Comentario>() }; var connectandoMongoDB = new AcessoMongoDB(); await connectandoMongoDB.Publicacoes.InsertOneAsync(post); return(RedirectToAction("Publicacao", new { id = post.Id })); }
public async Task <ActionResult> NovoComentario(NovoComentarioModel model) { if (!ModelState.IsValid) { return(RedirectToAction("Publicacao", new { id = model.PublicacaoId })); } var comment = new Comentario { Autor = User.Identity.Name, Conteudo = model.Conteudo, DataCriacao = DateTime.UtcNow }; var connectandoMongoDB = new AcessoMongoDB(); var construtor = Builders <Publicacao> .Filter; var condicao = construtor.Eq(x => x.Id, model.PublicacaoId); var construtorAlteracao = Builders <Publicacao> .Update; var condicaoAlteracao = construtorAlteracao.Push(x => x.Comentarios, comment); await connectandoMongoDB.Publicacoes.UpdateOneAsync(condicao, condicaoAlteracao); return(RedirectToAction("Publicacao", new { id = model.PublicacaoId })); }
public HomeController() { _mongo = new AcessoMongoDB(); }
public AccountController() { _mongo = new AcessoMongoDB(); }